All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BuildingStreamingModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Buildings.h"
7 #include "Modules.h"
8 #include "Rendering.h"
9 #include "Collision.h"
10 #include "CityThemes.h"
11 #include "AsyncTexturing.h"
12 #include "LandmarkToRenderableRepository.h"
13 #include "ChunkedFileFormat.h"
14 #include "Resources.h"
15 #include "Config.h"
16 
17 namespace Eegeo
18 {
19  namespace Modules
20  {
21  namespace Map
22  {
23  namespace Layers
24  {
26  {
27  public:
29  Rendering::IMaterialProvider& materialProvider,
32  Rendering::IMeshUploadService* pMeshUploadService,
35  Eegeo::Collision::CollisionMeshResourceRepository& collisionMeshResourceRepository,
36  Resources::Buildings::ILandmarkTextureLoader& landmarkTextureLoader,
37  Resources::Buildings::ILandmarkRenderableFactory& landmarkRenderableFactory,
39  const Config::ResourceBuilderConfigSection& resourceBuilderConfig,
40  const bool generateCollision,
43  );
44 
46 
47  static BuildingStreamingModule* Create(Core::RenderingModule& renderingModule,
48  Resources::Buildings::ILandmarkTextureLoader& landmarkTextureLoader,
49  Resources::Buildings::ILandmarkRenderableFactory& landmarkRenderableFactory,
50  EnvironmentMaterialModule& environmentMaterialModule,
51  BuildingModelModule& buildingModelModule,
52  CityThemesModule& cityThemesModule,
53  ShadowModelModule& shadowModelModule,
55  Rendering::IMeshUploadService* pMeshUploadService,
56  const Config::ResourceBuilderConfigSection& resourceBuilderConfig,
57  const bool generateCollision,
61 
62  Resources::Buildings::ChunkedBuildingBuilder& GetBuildingBuilder() const;
63  Resources::Buildings::BuildingStreaming& GetBuildingStream() const;
64  private:
66  Resources::Buildings::BuildingStreaming* m_pBuildingStream;
67  };
68  }
69  }
70  }
71 }