All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
GpsGlobeCameraControllerFactory.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "GlobeCamera.h"
6 #include "Terrain.h"
7 #include "Streaming.h"
8 #include "Rendering.h"
9 #include "Location.h"
10 
11 namespace Eegeo
12 {
13  namespace Camera
14  {
15  namespace GlobeCamera
16  {
19  {
20  public:
22  const Rendering::EnvironmentFlatteningService& environmentFlatteningService,
23  const Streaming::ResourceCeilingProvider& resourceCeilingProvider,
24  Location::NavigationService& navigationService)
25  : m_terrainHeightProvider(terrainHeightProvider)
26  , m_environmentFlatteningService(environmentFlatteningService)
27  , m_resourceCeilingProvider(resourceCeilingProvider)
28  , m_navigationService(navigationService)
29  {
30  }
31 
33  GpsGlobeCameraController* Create(bool useLowLodSettings,
34  const Eegeo::Rendering::ScreenProperties& screenProperties);
35 
38  const GlobeCameraTouchControllerConfiguration& touchControllerConfig,
39  const GlobeCameraControllerConfiguration& globeCameraConfig,
40  const Eegeo::Rendering::ScreenProperties& screenProperties);
41 
43  GlobeCameraTouchController& touchController,
44  const GlobeCameraControllerConfiguration& globeCameraConfiguration,
45  const Eegeo::Rendering::ScreenProperties& screenPropertie);
46 
47  private:
48  const Resources::Terrain::Heights::TerrainHeightProvider& m_terrainHeightProvider;
49  const Rendering::EnvironmentFlatteningService& m_environmentFlatteningService;
50  const Streaming::ResourceCeilingProvider& m_resourceCeilingProvider;
51  Location::NavigationService& m_navigationService;
52  };
53  }
54  }
55 }