All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolygonShapesModule.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Modules.h"
5 #include "PolygonShapeArgs.h"
6 #include "Positioning.h"
7 #include "Rendering.h"
8 
9 
10 namespace Eegeo
11 {
12  namespace Shapes
13  {
14  namespace Polygons
15  {
17  {
18  public:
19  static PolygonShapesModule* Create(Modules::Core::RenderingModule& renderingModule,
20  Modules::Map::MapModule& mapModule);
21 
23 
24  void Update() const;
25 
26  PolygonShapeArgs::IShapeService& GetShapeService() const { return *m_pPolygonShapeService; }
27  private:
31  PolygonShapeArgs::ShapeViewRepository* pPolygonShapeViewRepository,
32  PolygonShapeRenderer* pRenderer,
33  IShapeIdGenerator* pPolygonShapeIdGenerator,
34  PolygonShapeArgs::IShapeModelFactory* pPolygonShapeModelFactory,
35  PolygonShapeArgs::ShapeModelRepository* pPolygonShapeModelRepository,
36  PolygonShapeArgs::IShapeService* pPolygonShapeService,
37  PolygonShapeArgs::ShapeModelRepositoryObserver* pPolygonShapeModelRepositoryObserver,
38  PolygonShapeArgs::ShapeModelAddedEvent* pPolygonShapeAddedEvent,
39  PolygonShapeArgs::ShapeModelRemovedEvent* pPolygonShapeRemovedEvent,
40  PolygonShapeArgs::ShapeModelChangedEvent* pPolygonShapeModelChangedEvent,
41  Eegeo::Rendering::RenderableFilters& renderableFilters);
42 
43  PolygonShapeArgs::ShapeController* const m_pController;
44  PolygonShapeArgs::IShapeViewFactory* const m_pViewFactory;
45  PolygonShapeArgs::ShapeViewRepository* const m_pPolygonShapeViewRepository;
46  PolygonShapeRenderer* const m_pRenderer;
47  IShapeIdGenerator* const m_pPolygonShapeIdGenerator;
48  PolygonShapeArgs::IShapeModelFactory* const m_pPolygonShapeModelFactory;
49  PolygonShapeArgs::ShapeModelRepository* const m_pPolygonShapeModelRepository;
50  PolygonShapeArgs::IShapeService* const m_pPolygonShapeService;
51  PolygonShapeArgs::ShapeModelRepositoryObserver* const m_pPolygonShapeModelRepositoryObserver;
52  PolygonShapeArgs::ShapeModelAddedEvent* const m_pPolygonShapeModelAddedEvent;
53  PolygonShapeArgs::ShapeModelRemovedEvent* const m_pPolygonShapeModelRemovedEvent;
54  PolygonShapeArgs::ShapeModelChangedEvent* const m_pPolygonShapeModelChangedEvent;
55  Eegeo::Rendering::RenderableFilters& m_renderableFilters;
56 
57  };
58  }
59  }
60 }
61