All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsModelModule.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 "Collision.h"
8 #include "Interiors.h"
9 
10 namespace Eegeo
11 {
12  namespace Modules
13  {
14  namespace Map
15  {
16  namespace Layers
17  {
19  {
20  public:
21  static InteriorsModelModule* Create();
22 
23  virtual ~InteriorsModelModule();
24 
25  virtual void Update();
26 
27  virtual Eegeo::Collision::CollisionMeshResourceRepository& GetInteriorsCollisionMeshResourceRepository() const;
28  virtual Eegeo::Collision::CollisionMeshResourceRepository& GetInteriorsHighlightsCollisionMeshResourceRepository() const;
29  virtual Resources::Interiors::InteriorsModelRepository& GetInteriorsModelRepository() const;
30  virtual Resources::Interiors::InteriorsInstanceRepository& GetInteriorsInstanceRepository() const;
31  virtual Resources::Interiors::Entities::InteriorsEntitiesRepository& GetInteriorsEntitiesRepository() const;
32  virtual Resources::Interiors::Markers::InteriorMarkerModelRepository& GetInteriorMarkerModelRepository() const;
33  virtual Resources::Interiors::InteriorsCellResourceObserver& GetInteriorsCellResourceObserver() const;
34  virtual Resources::Interiors::InteriorsEntityIdHighlightController& GetInteriorsEntityIdHighlightController() const;
35  virtual Resources::Interiors::InteriorInteractionModel& GetInteriorInteractionModel() const;
36 
37  private:
39  Resources::Interiors::InteriorsModelRepository* pInteriorsModelRepository,
40  Resources::Interiors::InteriorsInstanceRepository* pInteriorsInstanceRepository,
41  Resources::Interiors::InteriorsModelEvictor* pInteriorsModelEvictor,
42  Resources::Interiors::InteriorsEntityIdHighlightController* pInteriorsEntityIdHighlightController,
43  Resources::Interiors::InteriorInteractionModel* pInteriorInteractionModel,
44  Eegeo::Collision::CollisionMeshResourceRepository* pInteriorsCollisionMeshResourceRepository,
45  Eegeo::Collision::CollisionMeshResourceRepository* pInteriorsHighlightCollisionMeshResourceRepository,
48  Resources::Interiors::InteriorsCellResourceObserver* pInteriorsCellResourceObserver
49  );
50 
51  Resources::Interiors::InteriorsModelRepository* m_pInteriorsModelRepository;
52  Resources::Interiors::InteriorsInstanceRepository* m_pInteriorsInstanceRepository;
53  Resources::Interiors::InteriorsModelEvictor* m_pInteriorsModelEvictor;
54  Resources::Interiors::InteriorsEntityIdHighlightController* m_pInteriorsEntityIdHighlightController;
55  Resources::Interiors::InteriorInteractionModel* m_pInteriorInteractionModel;
56  Eegeo::Collision::CollisionMeshResourceRepository* m_pInteriorsCollisionMeshResourceRepository;
57  Eegeo::Collision::CollisionMeshResourceRepository* m_pInteriorsHighlightCollisionMeshResourceRepository;
58 
60  Resources::Interiors::Markers::InteriorMarkerModelRepository* m_pInteriorMarkerModelRepository;
61  Resources::Interiors::InteriorsCellResourceObserver* m_pInteriorsCellResourceObserver;
62  };
63  }
64  }
65  }
66 }