All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsFloorModel.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Rendering.h"
6 #include "VectorMath.h"
7 #include "Bounds.h"
8 #include "Interiors.h"
9 #include "Types.h"
10 #include "InteriorsFloorOutlinePolygon.h"
11 
12 #include <string>
13 
14 namespace Eegeo
15 {
16  namespace Resources
17  {
18  namespace Interiors
19  {
21  {
22  public:
23  InteriorsFloorModel(const std::string& floorName,
24  const std::string& floorReadableName,
25  int floorNumber,
26  const dv3& cellOrigin,
27  const Geometry::Bounds3D& localEcefBounds,
28  const Geometry::Bounds3D& tangentSpaceBounds,
29  const InteriorsFloorOutline& outline);
30 
31  std::string GetFloorName() const;
32 
33  std::string GetReadableFloorName() const;
34 
35  int GetFloorNumber() const;
36 
37  const Geometry::Bounds3D& GetLocalEcefBounds() const { return m_localEcefBounds; }
38  const Geometry::Bounds3D& GetTangentSpaceBounds() const { return m_tangentSpaceBounds; }
39 
40  const dv3& GetFloorBoundsCenterEcef() const;
41 
42  const InteriorsFloorOutline& GetFloorOutline() const;
43  private:
44 
45  std::string m_floorName;
46  std::string m_floorReadableName;
47  dv3 m_floorBoundsCenterEcef;
48  Geometry::Bounds3D m_localEcefBounds;
49  Geometry::Bounds3D m_tangentSpaceBounds;
50  int m_floorNumber;
51  InteriorsFloorOutline m_outline;
52  };
53  }
54  }
55 }