DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
linestringmapmodel.h
Go to the documentation of this file.
1 #ifndef LINESTRINGMAPMODEL_H
2 #define LINESTRINGMAPMODEL_H
3 
4 #include <vector>
5 #include <functional>
6 
8 
9 namespace qmapcontrol { class GeometryLineString; class LayerGeometry; }
10 
12 {
13 public:
14  LineStringMapModel(qmapcontrol::QMapControl *);
15 
16  void clear() override;
17  void addGraphicsData(int row, int id, float lat, float lon) override;
18  void updateGraphicsData(int row, float lat, float lon) override;
19 
20  using GeometryBuilder = std::function<std::shared_ptr<qmapcontrol::GeometryLineString>(float lat, float lon)>;
21  void setGeometryBuilder (GeometryBuilder builder);
22 private:
23  struct LaneData {
24  int lane;
25  int coordid;
26  };
27 
28  GeometryBuilder mGeometryBuilder;
29 
30  std::vector<std::shared_ptr<qmapcontrol::GeometryLineString>> mGraphics;
31  std::vector<LaneData> mLaneData;
32  std::shared_ptr<qmapcontrol::LayerGeometry> mGraphicsLayer;
33 };
34 
35 #endif // LINESTRINGMAPMODEL_H
Definition: mapcontrolgraphicsmodel.h:8
void clear() override
Definition: linestringmapmodel.cpp:17
void setGeometryBuilder(GeometryBuilder builder)
Definition: linestringmapmodel.cpp:60
LineStringMapModel(qmapcontrol::QMapControl *)
Definition: linestringmapmodel.cpp:9
Definition: linestringmapmodel.h:11
void updateGraphicsData(int row, float lat, float lon) override
Definition: linestringmapmodel.cpp:48
std::function< std::shared_ptr< qmapcontrol::GeometryLineString >(float lat, float lon)> GeometryBuilder
Definition: linestringmapmodel.h:20
void addGraphicsData(int row, int id, float lat, float lon) override
Definition: linestringmapmodel.cpp:24
Definition: csvspecspage.h:20