All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PositioningModule.h
1 #pragma once
2 
3 
4 #include "Types.h"
5 #include "Positioning.h"
6 #include "Labels.h"
7 #include "Modules.h"
8 #include "Icons.h"
9 #include "Rendering.h"
10 #include "IFileIO.h"
11 #include "ICallback.h"
12 #include "Config.h"
13 #include "MapLayers.h"
14 #include "VectorMathDecl.h"
15 
16 
17 namespace Eegeo
18 {
19  namespace Positioning
20  {
22  {
23  public:
24 
25  static PositioningModule* Create(
26  Rendering::EnvironmentFlatteningService& environmentFlatteningService,
27  Modules::Map::Layers::InteriorsPresentationModule& interiorsPresentationModule,
28  Modules::Map::Layers::InteriorsModelModule& interiorsModelModule,
29  Modules::Map::Layers::TerrainModelModule& terrainModelModule,
30  MapLayers::MapLayersModule& mapLayersModule);
31 
33 
34  void Update(
35  float dt,
36  const dv3& cameraOriginEcef,
37  const m44& viewProjectionMatrix,
38  const v2& viewportDimensions
39  );
40 
41  IPointOnMapFactory& GetPointOnMapFactory() const;
42 
43  IPositioningViewComponent& GetPositioningViewComponent() const;
44 
45  IPositioningCameraModel& GetPositioningCameraModel() const;
46 
47  private:
48  PositioningModule(IPointOnMapIdGenerator* pPointOnMapIdGenerator,
49  IPointOnMapFactory* pPointOnMapFactory,
50  PointOnMapController* pPointOnMapController,
51  IPositioningViewComponent* pPositioningMapViewComponent,
52  PositioningCameraModel* pPositioningCameraModel,
53  TerrainHeightResourceChangedEvent* pTerrainHeightResourceChangedEvent,
54  InteriorModelChangedEvent* pInteriorModelChangedEvent,
55  PositioningViewComponentChangedEvent* pPositioningViewComponentChangedEvent
56  );
57 
58 
59  IPointOnMapIdGenerator* const m_pPointOnMapIdGenerator;
60  IPointOnMapFactory* const m_pPointOnMapFactory;
61  PointOnMapController* const m_pPointOnMapController;
62  IPositioningViewComponent* const m_pPositioningMapViewComponent;
63  PositioningCameraModel* const m_pPositioningCameraModel;
64  TerrainHeightResourceChangedEvent* const m_pTerrainHeightResourceChangedEvent;
65  InteriorModelChangedEvent* const m_pInteriorModelChangedEvent;
66  PositioningViewComponentChangedEvent* const m_pPositioningViewComponentChangedEvent;
67  };
68  }
69 }
70