All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HeatmapShapesModule.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Modules.h"
5 #include "HeatmapShapeArgs.h"
6 #include "Positioning.h"
7 #include "Rendering.h"
8 #include "HeatmapShapeController.h"
9 #include "HeatmapShapeEvents.h"
10 
11 
12 namespace Eegeo
13 {
14  namespace Shapes
15  {
16  namespace Heatmaps
17  {
19  {
20  public:
21  static HeatmapShapesModule* Create(
22  Modules::Core::RenderingModule& renderingModule,
23  Modules::Map::MapModule& mapModule
24  );
25 
27 
28  void Update() const;
29 
30  HeatmapShapeArgs::IShapeService& GetShapeService() const { return *m_pHeatmapShapeService; }
31  private:
33  HeatmapShapeController* const pHeatmapShapeController,
34  HeatmapShapeArgs::ShapeController* pShapeController,
36  HeatmapShapeArgs::ShapeViewRepository* pHeatmapShapeViewRepository,
37  HeatmapShapeRenderer* pRenderer,
38  IShapeIdGenerator* pHeatmapShapeIdGenerator,
39  HeatmapShapeShader* pHeatmapShapeShader,
40  HeatmapShapeMaterial* pHeatmapShapeMaterial,
41  HeatmapShapeArgs::IShapeModelFactory* pHeatmapShapeModelFactory,
42  HeatmapShapeArgs::ShapeModelRepository* pHeatmapShapeModelRepository,
43  HeatmapShapeArgs::IShapeService* pHeatmapShapeService,
44  HeatmapShapeArgs::ShapeModelRepositoryObserver* pHeatmapShapeModelRepositoryObserver,
46  HeatmapShapeArgs::ShapeModelRemovedEvent* pShapeRemovedEvent,
47  HeatmapShapeArgs::ShapeModelChangedEvent* pShapeModelChangedEvent,
48  IHeatmapGeometryChangedEvent* pHeatmapGeometryChangedEvent,
49  IHeatmapGradientChangedEvent* pHeatmapGradientChangedEvent,
50  IHeatmapDataChangedEvent* pHeatmapIntensityChangedEvent,
51  IHeatmapUniformsChangedEvent* pHeatmapUniformsChangedEvent,
52  Eegeo::Rendering::RenderableFilters& renderableFilters
53  );
54 
55  HeatmapShapeController* const m_pHeatmapShapeController;
56  HeatmapShapeArgs::ShapeController* const m_pShapeController;
57  HeatmapShapeArgs::IShapeViewFactory* const m_pViewFactory;
58  HeatmapShapeArgs::ShapeViewRepository* const m_pHeatmapShapeViewRepository;
59  HeatmapShapeRenderer* const m_pRenderer;
60  IShapeIdGenerator* const m_pHeatmapShapeIdGenerator;
61  HeatmapShapeShader* const m_pHeatmapShapeShader;
62  HeatmapShapeMaterial* const m_pHeatmapShapeMaterial;
63  HeatmapShapeArgs::IShapeModelFactory* const m_pHeatmapShapeModelFactory;
64  HeatmapShapeArgs::ShapeModelRepository* const m_pHeatmapShapeModelRepository;
65  HeatmapShapeArgs::IShapeService* const m_pHeatmapShapeService;
66  HeatmapShapeArgs::ShapeModelRepositoryObserver* const m_pHeatmapShapeModelRepositoryObserver;
67  HeatmapShapeArgs::ShapeModelAddedEvent* const m_pShapeModelAddedEvent;
68  HeatmapShapeArgs::ShapeModelRemovedEvent* const m_pShapeModelRemovedEvent;
69  HeatmapShapeArgs::ShapeModelChangedEvent* const m_pShapeModelChangedEvent;
70  IHeatmapGeometryChangedEvent* const m_pHeatmapGeometryChangedEvent;
71  IHeatmapGradientChangedEvent* const m_pHeatmapGradientChangedEvent;
72  IHeatmapDataChangedEvent* const m_pHeatmapIntensityChangedEvent;
73  IHeatmapUniformsChangedEvent* const m_pHeatmapUniformsChangedEvent;
74  Eegeo::Rendering::RenderableFilters& m_renderableFilters;
75  };
76  }
77  }
78 }