All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NativeSceneBuilderModule.h
1 #pragma once
2 
3 #include "ISceneBuilderModule.h"
4 #include "NativeReadMeshFactoryModule.h"
5 #include "ISceneGraphObserverModule.h"
6 #include "RenderingModule.h"
7 #include "DiffuseMeshFactory.h"
8 #include "UniqueTextureRenderableFactory.h"
9 #include "NativeLandmarkTextureLoader.h"
10 #include "InteriorRenderableService.h"
11 #include "InteriorRenderableFactory.h"
12 #include "NativeInteriorRenderableServiceFactory.h"
13 #include "NativeLandmarkRenderableFactory.h"
14 #include "NativeSceneGraphObserverModule.h"
15 #include "LabelViewFactory.h"
16 #include "NativeInteriorsMaterialProviderFactory.h"
17 #include "NativeLabelRendererFactory.h"
18 #include "NativeInteriorSceneBuilderModuleFactory.h"
19 
20 namespace Eegeo
21 {
22  namespace Modules
23  {
25  {
26  public:
27 
29  Resources::Buildings::LandmarkToRenderableRepository& landmarkToRenderableRepository,
30  Core::RenderingModule& renderingModule,
32  : m_diffuseMeshFactory(renderingModule.GetDiffuseMeshFactory())
33  , m_readMeshFactoryModule(renderingModule)
34  , m_sceneGraphObserverModule(landmarkToRenderableRepository)
35  , m_landmarkTextureLoader(asyncTextureRequestor)
36  , m_landmarkRenderableFactory(renderingModule.GetVertexBindingPool())
37  , m_nativeInteriorSceneBuilderModuleFactory(renderingModule.GetVertexBindingPool())
38  {
39 
40  }
41 
42  IReadMeshFactoryModule& GetReadMeshFactoryModule() override
43  {
44  return m_readMeshFactoryModule;
45  }
46 
47  ISceneGraphObserverModule& GetSceneGraphObserverModule() override
48  {
49  return m_sceneGraphObserverModule;
50  }
51 
52  Rendering::MeshFactories::MeshFactory& GetDiffuseMeshFactory() override
53  {
54  return m_diffuseMeshFactory;
55  }
56 
58  {
59  }
60 
62  {
63  }
64 
66  {
67  }
68 
70  {
71  }
72 
73  void StartObserving(Resources::Interiors::PropRenderableRepository& observable) override
74  {
75  }
76 
77  void StopObserving(Resources::Interiors::PropRenderableRepository& observable) override
78  {
79  }
80 
81  void StartObserving(Eegeo::Resources::Interiors::PropResourceRepository& observable) override
82  {
83  }
84 
85  void StopObserving(Eegeo::Resources::Interiors::PropResourceRepository& observable) override
86  {
87  }
88 
89  Rendering::Renderables::IUniqueTextureRenderableFactory& GetUniqueTextureRenderableFactory() override
90  {
91  return m_uniqueTextureRenderableFactory;
92  }
93 
94  Resources::Buildings::ILandmarkTextureLoader& GetLandmarkTextureLoader() override
95  {
96  return m_landmarkTextureLoader;
97  }
98 
99  Rendering::IMeshUploadService* GetMeshUploadService() override
100  {
101  return nullptr;
102  }
103 
104  BuildingHighlights::IBuildingHighlightRenderableUpdateService* GetBuildingHighlightRenderableUpdateService() override
105  {
106  return nullptr;
107  }
108 
109  Resources::Buildings::ILandmarkRenderableFactory& GetLandmarkRenderableFactory() override
110  {
111  return m_landmarkRenderableFactory;
112  }
113 
114  Labels::ILabelRendererFactory& GetLabelRendererFactory() override
115  {
116  return m_nativeLabelRendererFactory;
117  }
118 
119  IInteriorSceneBuilderModuleFactory& GetInteriorSceneBuilderModuleFactory() override
120  {
121  return m_nativeInteriorSceneBuilderModuleFactory;
122  }
123 
124  private:
125 
126  Rendering::MeshFactories::MeshFactory& m_diffuseMeshFactory;
127  NativeReadMeshFactoryModule m_readMeshFactoryModule;
128  NativeSceneGraphObserverModule m_sceneGraphObserverModule;
129  Rendering::Renderables::UniqueTextureRenderableFactory m_uniqueTextureRenderableFactory;
131  Resources::Buildings::NativeLandmarkRenderableFactory m_landmarkRenderableFactory;
132  Labels::NativeLabelRendererFactory m_nativeLabelRendererFactory;
133  NativeInteriorSceneBuilderModuleFactory m_nativeInteriorSceneBuilderModuleFactory;
134  };
135  }
136 }
137