All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolygonShapeModel.h
1 #pragma once
2 
3 #include "ShapeModelBase.h"
4 
5 namespace Eegeo
6 {
7  namespace Shapes
8  {
9  namespace Polygons
10  {
12  {
13  public:
15 
16  PolygonShapeModel(IShapeModel::IdType polygonId,
17  const Resources::Interiors::InteriorId& indoorMapId,
18  int indoorMapFloorId,
19  const dv3& originEcef,
20  const ShapeModelBase::PointOnMapVector& points,
21  const std::vector<double>& perPointElevations,
22  double elevation,
23  const std::vector<u16>& geometryIndices,
24  const Space::LatLong& boundsSouthWest,
25  const Space::LatLong& boundsNorthEast,
26  const v4& fillColor,
27  ShapeModelChangedEvent& changedEvent);
28 
29  virtual ~PolygonShapeModel();
30 
31  virtual const v4& GetFillColor() const { return m_fillColor; }
32 
33  virtual void SetFillColor(const v4& fillColor);
34 
36  const v4& GetPolygonColor() { return GetFillColor(); }
37 
39  void SetPolygonColor(const v4& polygonColor) { SetFillColor(polygonColor); }
40 
41  protected:
42  virtual void NotifyPointOnMapChanged();
43 
44  private:
45  v4 m_fillColor;
46 
47  ShapeModelChangedEvent& m_changedEvent;
48  };
49  }
50  }
51 }
52