All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RayCasterFirstIntersectionBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Collision.h"
6 #include "VectorMath.h"
7 #include "RayMeshIntersectionResult.h"
8 #include "RayNodeIntersectionResult.h"
9 #include "RayCasterResult.h"
10 #include "VectorMath.h"
11 #include "IVerifyRaycastResultDelegate.h"
12 #include "RayCasterIntersectionBuilder.h"
13 
14 #include <functional>
15 
16 namespace Eegeo
17 {
18  namespace Collision
19  {
21  {
23  const dv3& rayOriginEcef,
24  const dv3& rayDirection,
25  float environmentFlatteningScale,
26  const IVerifyRaycastResultDelegate& validIntersectionVerfification);
27 
28  bool operator () (const RayNodeIntersectionResult& nodeIntersection);
29 
30  RayCasterResult BuildResult() const;
31  private:
33  const CollisionBvh* m_pCurrentBvh;
34  bool m_hasResult;
35  };
36  }
37 }