All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorLabelBuilder.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 
6 #include "IInteriorLabelBuilder.h"
7 #include "Types.h"
8 #include "VectorMath.h"
9 #include "Labels.h"
10 
11 #include <string>
12 #include <vector>
13 
14 namespace Eegeo
15 {
16  namespace Resources
17  {
18  namespace Interiors
19  {
20  namespace Builder
21  {
23  {
24  public:
25  InteriorLabelBuilder(const std::string& labelEntityCategoryId,
26  const IInteriorLabelAnchorCategoryMapper& interiorLabelAnchorCategoryMapper,
27  const Labels::ILabelAnchorCategoryIconMapper& labelAnchorCategoryIconMapper);
28 
30  const InteriorDto& interiorDto,
31  const InteriorFloorChunkDto& interiorFloorChunkDto,
32  int floorIndex,
33  const InteriorEntitiesChunkDto& interiorEntitiesForFloorChunkDto,
34  const Fonts::FontInstance& fontInstance);
35  private:
36  const std::string m_labelEntityCategoryId;
37  const IInteriorLabelAnchorCategoryMapper& m_interiorLabelAnchorCategoryMapper;
38  const Labels::ILabelAnchorCategoryIconMapper& m_labelAnchorCategoryIconMapper;
39 
40  std::vector<const Labels::LabelAnchorCategory*>* CreateLabelAnchorCategoryLUT(const InteriorDto& interiorDto,
41  const InteriorFloorChunkDto& interiorFloorChunkDto,
42  const InteriorEntitiesChunkDto& interiorEntitiesForFloorChunkDto);
43 
44 
45  v3 BuildBasePositionLocalEcef(const InteriorDto& interiorDto,
46  const Entities::InteriorsEntityMetadata& interiorsEntityMetadata,
47  const dv3& cellOrigin) const;
48 
49  float BuildAnchorVerticalOffset(const InteriorDto& interiorDto,
50  const Entities::InteriorsEntityMetadata& interiorsEntityMetadata,
51  const dv3& cellOrigin) const;
52  };
53  }
54  }
55  }
56 }