All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolygonShapeModelFactory.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "PolygonShapeArgs.h"
5 #include "Positioning.h"
6 #include "Space.h"
7 
8 
9 namespace Eegeo
10 {
11  namespace Shapes
12  {
13  namespace Polygons
14  {
15 
16 
18  {
19  public:
20  PolygonShapeModelFactory(IShapeIdGenerator& polygonIdGenerator,
21  PolygonShapeArgs::ShapeModelChangedEvent& polygonModelChangedEvent,
23  );
24 
25 
26  PolygonShapeModel* Create(const PolygonShapeCreateParams& createParams);
27  private:
28  Eegeo::Positioning::IPointOnMap* CreatePointOnMap(const Eegeo::Space::LatLong& latLong, Eegeo::Positioning::PointOnMapBuilder& pointOnMapBuilder);
29 
30 
31  IShapeIdGenerator& m_polygonIdGenerator;
32  PolygonShapeArgs::ShapeModelChangedEvent& m_polygonModelChangedEvent;
33  Eegeo::Positioning::IPointOnMapFactory& m_pointOnMapFactory;
34  };
35  }
36  }
37 }