All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RouteSimulationGlobeCameraControllerFactory.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Terrain.h"
7 #include "Collision.h"
8 #include "Rendering.h"
9 #include "Streaming.h"
10 #include "GlobeCamera.h"
11 #include "Routes.h"
12 #include "RouteSimulationGlobeCameraControllerConfig.h"
13 
14 namespace Eegeo
15 {
16  namespace Routes
17  {
18  namespace Simulation
19  {
20  namespace Camera
21  {
23  {
24  public:
26  const Rendering::EnvironmentFlatteningService& environmentFlatteningService,
27  const Streaming::ResourceCeilingProvider& resourceCeilingProvider,
28  const Collision::ICollisionBvhProvider& collisionMeshResourceProvider);
29 
30  RouteSimulationGlobeCameraController* Create(bool useLowLodSettings,
31  const Eegeo::Rendering::ScreenProperties& screenProperties) const;
32 
33  RouteSimulationGlobeCameraController* Create(bool useLowLodSettings,
35  RouteSimulationGlobeCameraControllerConfig routeSimCameraConfig,
36  const Eegeo::Rendering::ScreenProperties& screenProperties) const;
37  private:
38  const Resources::Terrain::Heights::TerrainHeightProvider& m_terrainHeightProvider;
39  const Rendering::EnvironmentFlatteningService& m_environmentFlatteningService;
40  const Streaming::ResourceCeilingProvider& m_resourceCeilingProvider;
41  const Collision::ICollisionBvhProvider& m_collisionMeshResourceProvider;
42  };
43  }
44  }
45  }
46 }