All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TerrainModelModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Rendering.h"
7 #include "Terrain.h"
8 #include "Collision.h"
9 
10 namespace Eegeo
11 {
12  namespace Modules
13  {
14  namespace Map
15  {
16  namespace Layers
17  {
19  {
20  public:
23  static TerrainModelModule* Create();
24 
27  Resources::Terrain::Heights::TerrainHeightRepository& GetTerrainHeightRepository() const;
28  Eegeo::Collision::CollisionMeshResourceRepository& GetTerrainCollisionMeshResourceRepository() const;
29  Eegeo::Collision::CollisionMeshResourceRepository& GetTreesCollisionMeshResourceRepository() const;
30  Resources::Terrain::Heights::TerrainHeightProvider& GetTerrainHeightProvider() const;
31 
33  Eegeo::Collision::CollisionMeshResourceRepository& GetCollisionMeshResourceRepository() const { return GetTerrainCollisionMeshResourceRepository(); }
34 
35  private:
38  Resources::Terrain::Heights::TerrainHeightRepository* m_pTerrainHeightRepository;
39  Eegeo::Collision::CollisionMeshResourceRepository* m_pTerrainCollisionMeshResourceRepository;
40  Eegeo::Collision::CollisionMeshResourceRepository* m_pTreesCollisionMeshResourceRepository;
42  };
43  }
44  }
45  }
46 }