All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BuildingInformation.h
1 #pragma once
2 
3 #include "BuildingHighlights.h"
4 #include "BuildingFootprint.h"
5 #include "BuildingDimensions.h"
6 #include "BuildingContour.h"
7 
8 #include <vector>
9 #include <string>
10 
11 namespace Eegeo
12 {
13  namespace BuildingHighlights
14  {
16  {
17  public:
19  {}
20 
22  const std::string& buildingId,
23  const BuildingDimensions& buildingDimensions,
24  const std::vector<BuildingFootprints::BuildingFootprint>& buildingFootprints,
25  const std::vector<BuildingContour>& buildingContours,
26  const std::string& landmarkMaterialPrefix
27  );
28 
29  const std::string& GetBuildingId() const { return m_buildingId; }
30  const BuildingDimensions& GetBuildingDimensions() const { return m_buildingDimensions; }
31  const std::vector<BuildingFootprints::BuildingFootprint>& GetFootprints() const { return m_buildingFootprints; }
32  const std::vector<BuildingContour>& GetBuildingContours() const { return m_buildingContours; }
33  bool IsLandmark() const { return !m_landmarkMaterialPrefix.empty(); }
34  bool IsLandmarkPlaceholder() const { return m_landmarkMaterialPrefix.empty() && m_buildingId.find("landmark") != std::string::npos; }
35  const std::string& GetLandmarkMaterialPrefix() const { return m_landmarkMaterialPrefix; }
36  int GetBuildingIdBufferSize() const;
37  int GetTotalContourPointsCount() const;
38 
39  private:
40  std::string m_buildingId;
41  BuildingDimensions m_buildingDimensions;
42  std::vector<BuildingFootprints::BuildingFootprint> m_buildingFootprints;
43  std::vector<BuildingContour> m_buildingContours;
44  std::string m_landmarkMaterialPrefix;
45  };
46  }
47 }