Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
MultiPoint.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_GEAR_GEOM_MULTIPOINT_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_MULTIPOINT_HPP_INCLUDED
6 
7 #include <vector>
8 
9 #include "fire/export.hpp"
10 
11 #include "fire/gear/geom/GeometryCollection.hpp"
12 
13 namespace fire {
14 namespace gear {
15 namespace geom {
16 class Point;
17 } // namespace geom
18 } // namespace gear
19 } // namespace fire
20 
27 namespace fire {
34 namespace gear {
41 namespace geom {
48 class FIRE_ENGINE_DLL MultiPoint : public GeometryCollection {
49 friend class GeometryCollection; // Per permettere l' accesso al metodo private loadJsonValueGeometry
50 
51  private:
63  void loadJsonValueGeometry(Json::Value& value) const;
75  virtual void setCoordinatesFromJsonValue(Json::Value& value);
76 
77  public:
82  MultiPoint();
93  explicit MultiPoint(std::vector< Point* >* points);
104  MultiPoint(PrecisionModel* precisionModel, int srid);
118  MultiPoint(std::vector< Point* >* points, PrecisionModel* precisionModel, int srid);
125  MultiPoint(const MultiPoint& multiPoint);
130  virtual ~MultiPoint();
142  void addPoint(Point* point);
159  void setPointAt(Point* point, std::size_t index);
176  void insertPointAt(Point* point, std::size_t index);
188  void removePointAt(std::size_t index);
205  const Point& getPointAt(std::size_t index) const;
206 };
207 } // namespace geom
208 } // namespace gear
209 } // namespace fire
210 
211 #endif
Definition: PrecisionModel.hpp:50
Definition: GeometryCollection.hpp:51
Definition: Point.hpp:48
Definition: MultiPoint.hpp:48