All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TerrainRayPicker.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Terrain.h"
7 #include "Collision.h"
8 #include "IRayPicker.h"
9 #include "VectorMathDecl.h"
10 
11 namespace Eegeo
12 {
13  namespace Resources
14  {
15  namespace Terrain
16  {
17  namespace Collision
18  {
25  {
26  public:
28  const Eegeo::Collision::ICollisionBvhProvider& collisionMeshResourceProvider);
29 
30  virtual ~TerrainRayPicker();
31 
45  virtual bool TryGetRayIntersection(const Eegeo::dv3& rayOrigin, const Eegeo::dv3& rayDirection, Eegeo::dv3& out_ecefIntersectionPoint, double& out_param);
46 
47  private:
48  const Eegeo::Resources::Terrain::Heights::TerrainHeightProvider& m_terrainHeightProvider;
49  Eegeo::Collision::CollisionMeshRayPicker* m_collisionMeshRayPicker;
50  };
51 
54  }
55  }
56  }
57 }