4 #include "IShapeModel.h"
5 #include "Positioning.h"
7 #include "VectorMath.h"
9 #include "InteriorId.h"
22 typedef std::vector<Eegeo::Positioning::IPointOnMap*> PointOnMapVector;
27 const dv3& originEcef,
28 const PointOnMapVector& points,
29 const std::vector<double>& perPointElevations,
31 const std::vector<u16>& geometryIndices,
38 virtual IdType GetId()
const {
return m_id; }
40 virtual bool IsIndoor()
const;
44 virtual int GetIndoorMapFloorIndex()
const;
48 virtual void SetIndoorMapFloorId(
int indoorMapFloorId);
50 virtual void SetElevation(
double elevation);
52 virtual void SetElevationMode(Eegeo::Positioning::ElevationMode::Type elevationMode);
54 virtual dv3 GetOriginEcef()
const;
56 virtual std::vector<v3> GetVertices()
const;
58 virtual std::vector<u16> GetGeometryIndices()
const;
63 virtual void NotifyPointOnMapChanged() = 0;
67 void RegisterPointOnMapChangedEvents();
68 void UnregisterPointOnMapChangedEvents();
69 void OnPointOnMapChanged();
70 void OnPositioningViewComponentChanged();
75 int m_indoorMapFloorId;
76 const PointOnMapVector m_points;
77 const std::vector<double> m_perPointElevations;
79 const std::vector<u16> m_geometryIndices;
80 const dv3 m_originEcef;