All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ShapeCreateParamsBase.h
1 #pragma once
2 
3 #include "EegeoShapes.h"
4 #include "PositioningTypes.h"
5 #include "LatLongAltitude.h"
6 #include "InteriorId.h"
7 
8 #include <string>
9 #include <vector>
10 
11 
12 namespace Eegeo
13 {
14  namespace Shapes
15  {
17  {
18  public:
20  : m_elevationMode(Eegeo::Positioning::ElevationMode::HeightAboveGround)
21  , m_elevation(0.0)
22  , m_indoorMapFloorId(0)
23  {
24 
25  }
26 
28  Eegeo::Positioning::ElevationMode::Type elevationMode,
29  double elevation,
30  const Eegeo::Resources::Interiors::InteriorId& indoorMapId,
31  int indoorMapFloorId)
32  : m_elevationMode(elevationMode)
33  , m_elevation(elevation)
34  , m_indoorMapId(indoorMapId)
35  , m_indoorMapFloorId(indoorMapFloorId)
36  {
37 
38  }
39 
40  Eegeo::Positioning::ElevationMode::Type GetElevationMode() const { return m_elevationMode; }
41  double GetElevation() const { return m_elevation; }
42  bool IsIndoorShape() const { return m_indoorMapId.IsValid(); }
43  const Resources::Interiors::InteriorId& GetIndoorMapId() const { return m_indoorMapId; }
44  int GetIndoorMapFloorId() const { return m_indoorMapFloorId; }
45 
46  private:
47  Eegeo::Positioning::ElevationMode::Type m_elevationMode;
48  double m_elevation;
49  const Eegeo::Resources::Interiors::InteriorId m_indoorMapId;
50  int m_indoorMapFloorId;
51  };
52 
53  }
54 }