All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolylineShapesModule.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Modules.h"
5 #include "PolylineShapeArgs.h"
6 #include "Positioning.h"
7 #include "Rendering.h"
8 
9 
10 namespace Eegeo
11 {
12  namespace Shapes
13  {
14  namespace Polylines
15  {
17  {
18  public:
19  static PolylineShapesModule* Create(Modules::Core::RenderingModule& renderingModule,
20  Modules::Map::MapModule& mapModule);
21 
23 
24  void Update() const;
25 
26  PolylineShapeArgs::IShapeService& GetShapeService() const { return *m_pPolylineShapeService; }
27  private:
30  PolylineShapeViewFactory* pViewFactory,
31  PolylineShapeArgs::ShapeViewRepository* pPolylineShapeViewRepository,
32  PolylineShapeRenderer* pRenderer,
33  IShapeIdGenerator* pPolylineShapeIdGenerator,
34  PolylineShapeArgs::IShapeModelFactory* pPolylineShapeModelFactory,
35  PolylineShapeArgs::ShapeModelRepository* pPolylineShapeModelRepository,
36  Rendering::VertexLayouts::VertexLayout* pPolylineVertexLayout,
37  PolylineRenderableFactory* pPolylineRenderableFactory,
38  PolylineMaterial* pPolylineMaterial,
39  PolylineShader* pPolylineShader,
40  PolylineShapeArgs::IShapeService* pPolylineShapeService,
41  PolylineShapeArgs::ShapeModelRepositoryObserver* pPolylineShapeModelRepositoryObserver,
42  PolylineShapeArgs::ShapeModelAddedEvent* pPolylineShapeAddedEvent,
43  PolylineShapeArgs::ShapeModelRemovedEvent* pPolylineShapeRemovedEvent,
44  PolylineShapeArgs::ShapeModelChangedEvent* pPolylineShapeModelChangedEvent,
45  Eegeo::Rendering::RenderableFilters& renderableFilters);
46 
47  PolylineShapeArgs::ShapeController* const m_pController;
48  PolylineShapeViewFactory* const m_pViewFactory;
49  PolylineShapeArgs::ShapeViewRepository* const m_pPolylineShapeViewRepository;
50  PolylineShapeRenderer* const m_pRenderer;
51  IShapeIdGenerator* const m_pPolylineShapeIdGenerator;
52  PolylineShapeArgs::IShapeModelFactory* const m_pPolylineShapeModelFactory;
53  PolylineShapeArgs::ShapeModelRepository* const m_pPolylineShapeModelRepository;
54  Rendering::VertexLayouts::VertexLayout* const m_pPolylineVertexLayout;
55  PolylineRenderableFactory* const m_pPolylineRenderableFactory;
56  PolylineMaterial* const m_pPolylineMaterial;
57  PolylineShader* const m_pPolylineShader;
58  PolylineShapeArgs::IShapeService* const m_pPolylineShapeService;
59  PolylineShapeArgs::ShapeModelRepositoryObserver* const m_pPolylineShapeModelRepositoryObserver;
60  PolylineShapeArgs::ShapeModelAddedEvent* const m_pPolylineShapeModelAddedEvent;
61  PolylineShapeArgs::ShapeModelRemovedEvent* const m_pPolylineShapeModelRemovedEvent;
62  PolylineShapeArgs::ShapeModelChangedEvent* const m_pPolylineShapeModelChangedEvent;
63  Eegeo::Rendering::RenderableFilters& m_renderableFilters;
64 
65  };
66  }
67  }
68 }
69