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