All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ConfigSections.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 #pragma once
3 
4 #include "InteriorsConfiguration.h"
5 #include "InteriorsPresentationModule.h"
6 #include "FontsModule.h"
7 #include "DebugRenderingModule.h"
8 #include "LabelsModule.h"
9 #include "IconsModule.h"
10 #include "MarkersModule.h"
11 #include "MapCollapseConfiguration.h"
12 #include "BlueSphereModule.h"
13 #include "PoiSearchModule.h"
14 #include "FeatureInteractionModule.h"
15 #include "TagServiceConfiguration.h"
16 #include "PoiServiceConfiguration.h"
17 #include "MapCameraServiceConfiguration.h"
18 #include "GlobalTrafficConfiguration.h"
19 #include "InteriorEntitiesWebServiceConfiguration.h"
20 
21 #include <string>
22 
23 
24 namespace Eegeo
25 {
26  namespace Config
27  {
28  static const std::string CoverageTreeManifestUrlDefault = "https://cdn1.wrld3d.com/coverage-trees/vglobal/latest/manifest.bin.gz";
29 
30  #if defined (EEGEO_UNITY)
31  static const std::string CityThemesManifestUrlDefault = "https://cdn-resources.wrld3d.com/mobile-themes-new/latest/unity/manifest.bin.gz";
32  #else
33  static const std::string CityThemesManifestUrlDefault = "https://cdn-resources.wrld3d.com/mobile-themes-new/latest/default/manifest.bin.gz";
34  #endif
35 
36  enum DeviceSpec
37  {
38  VeryLow,
39  Low,
40  MediumLow,
41  Standard,
42  High
43  };
44 
50  {
52  : ManifestUrl(CoverageTreeManifestUrlDefault)
53  , ManifestDownloadTimeoutInSeconds(0)
54  {
55 
56  }
57 
58  explicit CoverageTreeConfigSection(const std::string& manifestUrl)
59  : ManifestUrl(manifestUrl)
60  , ManifestDownloadTimeoutInSeconds(0)
61  {
62 
63  }
64 
65  std::string ManifestUrl;
66  int ManifestDownloadTimeoutInSeconds;
67  };
68 
76  {
78  : StreamedManifestUrl(CityThemesManifestUrlDefault)
79  , EmbeddedThemeManifestFile("embedded_manifest.bin")
80  , EmbeddedThemeTexturePath("EmbeddedTheme")
81  , EmbeddedThemeNameContains("Summer")
82  , EmbeddedThemeStateName("DayDefault")
83  , StreamedThemeNameContains("Summer")
84  , StreamedThemeStateName("DayDefault")
85  , LoadEmbeddedManifests(true)
86  , LoadStreamedManifests(true)
87  , LoadThemeTextures(true)
88  {
89 
90  }
91 
93  const std::string& manifestUrl,
94  const std::string& embeddedThemeManifestFile,
95  const std::string& embeddedThemeTexturePath,
96  const std::string& embeddedThemeNameContains,
97  const std::string& embeddedThemeStateName,
98  const std::string& streamedThemeNameContains,
99  const std::string& streamedThemeStateName,
100  bool loadEmbeddedManifests = true,
101  bool loadStreamedManifests = true,
102  bool loadThemeTextures = true)
103  : StreamedManifestUrl(manifestUrl)
104  , EmbeddedThemeManifestFile(embeddedThemeManifestFile)
105  , EmbeddedThemeTexturePath(embeddedThemeTexturePath)
106  , EmbeddedThemeNameContains(embeddedThemeNameContains)
107  , EmbeddedThemeStateName(embeddedThemeStateName)
108  , StreamedThemeNameContains(streamedThemeNameContains)
109  , StreamedThemeStateName(streamedThemeStateName)
110  , LoadEmbeddedManifests(loadEmbeddedManifests)
111  , LoadStreamedManifests(loadStreamedManifests)
112  , LoadThemeTextures(loadThemeTextures)
113  {
114 
115  }
116 
118  std::string StreamedManifestUrl;
119 
122 
125 
128 
131 
134 
137 
140 
143 
146  };
147 
148 
150  {
151  std::string ImageResolutionSuffix;
152  float ImageResolutionScale;
153  bool BufferPoolingEnabled;
154  bool ManuallyGenerateMipmapsFor565PixelType;
155  bool AlwaysUseHighFidelityWaterShader;
156 
158  : ImageResolutionSuffix("")
159  , ImageResolutionScale(1.f)
160  , BufferPoolingEnabled(true)
161  , ManuallyGenerateMipmapsFor565PixelType(false)
162  , AlwaysUseHighFidelityWaterShader(false)
163  {
164 
165  }
166  };
167 
169  {
170  DeviceSpec DeviceSpecification;
171 
173  : DeviceSpecification(Eegeo::Config::Standard)
174  {
175 
176  }
177  };
178 
180  {
181  bool Requires_Cpp11_Runtime_Fix;
182 
184  : Requires_Cpp11_Runtime_Fix(false)
185  {
186 
187  }
188  };
189 
191  {
194 
198 
199  bool EnableLabels;
200 
201  bool EnableInteriors;
202 
205 
208 
212  , EnableLabels(false)
213  , EnableInteriors(true)
216  {
217 
218  }
219  };
220 
222  {
226  Eegeo::Labels::LabelsModuleConfiguration LabelsModuleConfig;
227  Eegeo::Icons::IconsModuleConfiguration IconsModuleConfig;
228  Eegeo::Markers::MarkersModuleConfiguration MarkersModuleConfig;
234 
236  : Interiors(Modules::Map::Layers::InteriorsPresentationModule::DefaultConfig())
237  , FontsModuleConfig(Eegeo::Modules::Core::FontsModule::DefaultConfig())
238  , DebugRenderingModuleConfig(Eegeo::Modules::Core::DebugRenderingModule::DefaultConfig())
239  , LabelsModuleConfig(Labels::LabelsModule::DefaultConfig())
240  , IconsModuleConfig(Icons::IconsModule::DefaultConfig())
241  , MarkersModuleConfig(Markers::MarkersModule::DefaultConfig())
242  , BlueSphereConfig(BlueSphere::BlueSphereModule::DefaultConfig())
243  , MapCameraConfig(Eegeo::Camera::MapCamera::MakeDefaultMapCameraServiceConfiguration())
244  , TrafficConfig(Eegeo::Traffic::Config::GlobalTrafficConfiguration::MakeDefault())
245  , FeatureInteractionConfig(Eegeo::FeatureInteraction::FeatureInteractionModule::DefaultConfig())
246  {
247 
248  }
249  };
250 
252  {
256 
258  : PoiServiceConfig(PoiSearch::PoiSearchModule::DefaultPoiServiceConfig())
259  , TagServiceConfig(PoiSearch::PoiSearchModule::DefaultTagServiceConfig())
260  , InteriorEntitiesWebServiceConfiguration(Resources::Interiors::Webservice::InteriorEntitiesWebServiceConfiguration::MakeDefault())
261  {
262  }
263  };
264 
266  {
267  bool CreateRenderables;
268  bool CreateShadowRenderables;
269  bool IgnoreFlush;
270  bool CreateGlowMaps;
271  bool CreateTransportTiledGraph;
272 
274  : CreateRenderables(true)
275  , CreateShadowRenderables(true)
276  , IgnoreFlush(false)
277  , CreateGlowMaps(false)
278  , CreateTransportTiledGraph(false)
279  {}
280  };
281 
283  {
285  : ResourceWebRequstTimeoutInSeconds(60)
286  {
287  }
288 
289  int ResourceWebRequstTimeoutInSeconds;
290  };
291  }
292 }