All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LabelCellModelFeatureContainer.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Labels.h"
7 #include "ShapedText.h"
8 #include "VectorMath.h"
9 #include "Icons.h"
10 #include "LabelCellModelFeature.h"
11 
12 #include <string>
13 #include <vector>
14 
15 
16 namespace Eegeo
17 {
18  namespace Labels
19  {
21  {
22  public:
23  LabelCellModelFeatureContainer(const dv3& originEcef,
24  const v3& upEcef,
25  int cubeFaceIndex,
26  const std::vector<Text::ShapedGlyph>* pShapedGlyphPool,
27  const std::vector<v3>* pAnchorVertices,
28  const std::vector<const LabelAnchorCategory*>* pLabelAnchorCategories,
29  const std::vector<LabelCellModelFeature>* pLabelFeaturePool,
30  const std::vector<std::string>* pLabelIdPool,
31  const std::vector<std::string>* pEntityNames,
32  const std::vector<const Icons::IconDefinition*>* pLabelIconDefinitionPool);
33 
35 
36  dv3 GetOriginEcef() const { return m_originEcef; }
37 
38  v3 GetUpEcef() const { return m_upEcef; }
39 
40  int GetCubeFaceIndex() const { return m_cubeFaceIndex; }
41 
42  const std::vector<Text::ShapedGlyph>& GetShapedGlyphPool() const { return *m_pShapedGlyphPool; }
43 
44  const std::vector<v3>& GetAnchorVertexPool() const { return *m_pAnchorVertexPool; }
45 
46  const std::vector<const LabelAnchorCategory*>& GetLabelAnchorCategoryPool() const { return *m_pLabelAnchorCategoryPool; }
47 
48  const std::vector<std::string>& GetLabelIdPool() const { return *m_pLabelIdPool; }
49 
50  const std::vector<std::string>& GetEntityNames() const { return *m_pEntityNames; }
51 
52  const std::vector<const Icons::IconDefinition*>& GetIconDefinitionPool() const { return *m_pLabelIconDefinitionPool; }
53 
54  private:
55  dv3 m_originEcef;
56  v3 m_upEcef;
57  int m_cubeFaceIndex;
58  const std::vector<Text::ShapedGlyph>* m_pShapedGlyphPool;
59  const std::vector<v3>* m_pAnchorVertexPool;
60  const std::vector<const LabelAnchorCategory*>* m_pLabelAnchorCategoryPool;
61  const std::vector<LabelCellModelFeature>* m_pLabelFeaturePool;
62  const std::vector<std::string>* m_pLabelIdPool;
63  const std::vector<std::string>* m_pEntityNames;
64  const std::vector<const Icons::IconDefinition*>* m_pLabelIconDefinitionPool;
65 
66  };
67  }
68 }