All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TransportPresentationModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 
7 #include "Fonts.h"
8 #include "Roads.h"
9 #include "Rendering.h"
10 #include "Location.h"
11 #include "Camera.h"
12 #include "Streaming.h"
13 #include "Modules.h"
14 #include "VectorMathDecl.h"
15 #include "TextRenderableConfiguration.h"
16 #include "Culling.h"
17 
18 namespace Eegeo
19 {
20  namespace Modules
21  {
22  namespace Map
23  {
24  namespace Layers
25  {
27  {
28  public:
29  TransportPresentationModule(const Fonts::FontInstance& environmentFont,
30  const Rendering::Shaders::TextShaderSet& textShaderSet,
32  Rendering::Materials::MaterialIdGenerator& materialIdGenerator,
35  Culling::CullingVolumeVisibilityUpdater& cullingVolumeVisibilityUpdater,
36  Rendering::EnvironmentFlatteningService& environmentFlatteningService);
37 
39 
40  static TransportPresentationModule* Create(Core::FontsModule& fontsModule,
41  Core::RenderingModule& renderingModule,
42  TransportModelModule& transportModelModule,
43  Culling::CullingVolumeVisibilityUpdater& cullingVolumeVisibilityUpdater,
44  Rendering::EnvironmentFlatteningService& environmentFlatteningService);
45 
46  Fonts::FontMaterialSet& GetRoadNamesFontMaterialSet() const;
48  Resources::Roads::RoadNamesFadeController& GetRoadNamesFadeController() const;
49  Rendering::Filters::PackedRenderableFilter& GetRoadsRenderableFilter() const;
50  Resources::Roads::RoadNamesRenderableFilter& GetRoadNamesRenderableFilter() const;
51 
52  void Update(float dt, const double& cameraAltitude, const dv3& ecefInterestPoint);
53 
54  private:
55  Fonts::FontMaterialSet* m_pRoadNamesFontMaterialSet;
57  Rendering::Materials::ITextMaterialFactory* m_pTextMaterialFactory;
58  Resources::Roads::RoadNamesFadeController* m_pRoadNamesFadeController;
59  Rendering::Filters::PackedRenderableFilter* m_pRoadsPackedRenderableFilter;
60  Resources::Roads::RoadNamesRenderableFilter* m_pRoadNamesRenderableFilter;
61  };
62  }
63  }
64  }
65 }