All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PlaceNamesStreamingModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "PlaceNames.h"
7 #include "Modules.h"
8 #include "Rendering.h"
9 #include "Fonts.h"
10 #include "CoverageTrees.h"
11 #include "TextMeshes.h"
12 #include "Interiors.h"
13 #include "Labels.h"
14 
15 namespace Eegeo
16 {
17  namespace Modules
18  {
19  namespace Map
20  {
21  namespace Layers
22  {
24  {
25  public:
26  static PlaceNamesStreamingModule* Create(Core::RenderingModule& renderingModule,
27  Core::FontsModule& fontsModule,
28  Map::Layers::PlaceNamesPresentationModule& placeNamesPresentationModule,
29  Map::Layers::InteriorsStreamingModule& interiorsStreamingModule,
30  Labels::LabelsModule& labelsModule,
31  const float screenOversampleScale,
32  const bool buildLabels,
33  const bool enableInteriors);
34 
36 
37  Resources::PlaceNames::PlaceNamesStreaming& GetPlaceNamesStream() const;
38  Resources::PlaceNames::PlaceNamesBuilder& GetPlaceNamesBuilder() const;
39  Resources::PlaceNames::PlaceNameViewBuilder& GetPlaceNameViewBuilder() const;
40  TextMeshes::InstancedTextMeshBuilder& GetPlaceNamesTextMeshBuilder() const;
41 
42  private:
43 
45  TextMeshes::InstancedTextMeshBuilder* pPlaceNamesTextMeshBuilder,
46  Resources::PlaceNames::PlaceNameViewBuilder* pPlaceNameViewBuilder,
47  Resources::PlaceNames::PlaceNamesBuilder* pPlaceNamesBuilder,
48  Resources::PlaceNames::IPlaceNameLabelAnchorCategoryMapper* pPlaceNameLabelAnchorCategoryMapper,
49  Resources::PlaceNames::PlaceNameLabelBuilder* pPlaceNameLabelBuilder);
50 
51  Resources::PlaceNames::PlaceNamesStreaming* m_pPlaceNamesStream;
52  TextMeshes::InstancedTextMeshBuilder* m_pPlaceNamesTextMeshBuilder;
53  Resources::PlaceNames::PlaceNameViewBuilder* m_pPlaceNameViewBuilder;
54  Resources::PlaceNames::PlaceNamesBuilder* m_pPlaceNamesBuilder;
55  Resources::PlaceNames::IPlaceNameLabelAnchorCategoryMapper* m_pPlaceNameLabelAnchorCategoryMapper;
56  Resources::PlaceNames::PlaceNameLabelBuilder* m_pPlaceNameLabelBuilder;
57  };
58  }
59  }
60  }
61 }