All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
HeatmapShapeModelFactory.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "HeatmapShapeArgs.h"
5 #include "Positioning.h"
6 #include "Space.h"
7 
8 
9 namespace Eegeo
10 {
11  namespace Shapes
12  {
13  namespace Heatmaps
14  {
16  {
17  public:
19  IShapeIdGenerator& heatmapIdGenerator,
20  HeatmapShapeArgs::ShapeModelChangedEvent& shapeModelChangedEvent,
21  IHeatmapGeometryChangedEvent& heatmapGeometryChangedEvent,
22  IHeatmapGradientChangedEvent& heatmapGradientChangedEvent,
23  IHeatmapDataChangedEvent& heatmapDataChangedEvent,
24  IHeatmapUniformsChangedEvent& heatmapUniformsChangedEvent,
26  );
27 
28  HeatmapShapeModel* Create(const HeatmapShapeCreateParams& createParams);
29  private:
30  Eegeo::Positioning::IPointOnMap* CreatePointOnMap(
31  const Eegeo::Space::LatLong& latLong,
32  Eegeo::Positioning::PointOnMapBuilder& pointOnMapBuilder
33  );
34 
35  IShapeIdGenerator& m_heatmapIdGenerator;
36  HeatmapShapeArgs::ShapeModelChangedEvent& m_shapeModelChangedEvent;
37  IHeatmapGeometryChangedEvent& m_heatmapGeometryChangedEvent;
38  IHeatmapGradientChangedEvent& m_heatmapGradientChangedEvent;
39  IHeatmapDataChangedEvent& m_heatmapDataChangedEvent;
40  IHeatmapUniformsChangedEvent& m_heatmapUniformsChangedEvent;
41  Eegeo::Positioning::IPointOnMapFactory& m_pointOnMapFactory;
42  };
43  }
44  }
45 }