All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsFloorCellEntityPolygonContainer.h
1 // Copyright eeGeo Ltd (2012-2019), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Interiors.h"
6 #include "LatLongAltitude.h"
7 #include "InteriorHighlightOutlineChunkDto.h"
8 #include "Types.h"
9 
10 #include <vector>
11 #include <unordered_map>
12 
13 namespace Eegeo
14 {
15  namespace Resources
16  {
17  namespace Interiors
18  {
20  {
21  public:
22 
23  static InteriorsFloorCellEntityPolygonContainer* Create(const Builder::InteriorHighlightOutlineChunkDto& interiorHighlightOutlineChunkDto);
24 
25  const std::unordered_map<std::string, int>& GetIdToContoursPerPolygonLookUp() const;
26  const int TryGetContoursPerPolygonIndex(const std::string& id)const;
27  const bool Contains(const std::string& id) const;
28  const std::vector<int>& GetContoursPerPolygon() const;
29  const std::vector<int>& GetLatLngPairsPerContour() const;
30  const std::vector<double>& GetLatLngsInDegrees() const;
31 
32  private:
34  const std::unordered_map<std::string,int>& idToContoursPerPolygonLookUp,
35  const std::vector<int>& contoursPerPolygon,
36  const std::vector<int>& latLngsPerContour,
37  const std::vector<double>& latLngsInDegrees);
38 
39  const std::unordered_map<std::string, int> m_idToContoursPerPolygonLookUp;
40  const std::vector<int> m_contoursPerPolygon;
41  const std::vector<int> m_latLngsPerContour;
42  const std::vector<double> m_latLngsInDegrees;
43  };
44  }
45  }
46 }