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
MultiPolygon.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_GEAR_GEOM_MULTIPOLYGON_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_MULTIPOLYGON_HPP_INCLUDED
6 
7 #include <exception>
8 #include <vector>
9 #include <cstddef>
10 
11 #include "fire/gear/geom/GeometryCollection.hpp"
12 
13 namespace fire {
14 namespace gear {
15 namespace geom {
16 class Polygon;
17 } // namespace geom
18 } // namespace gear
19 } // namespace fire
20 
27 namespace fire {
34 namespace gear {
41 namespace geom {
48 class FIRE_ENGINE_DLL MultiPolygon : 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  MultiPolygon();
93  explicit MultiPolygon(std::vector< Polygon* >* polygons);
104  MultiPolygon(PrecisionModel* precisionModel, int srid);
118  MultiPolygon(std::vector< Polygon* >* polygons, PrecisionModel* precisionModel, int srid);
125  MultiPolygon(const MultiPolygon& multiPolygon);
130  virtual ~MultiPolygon();
142  void addPolygon(Polygon* polygon);
154  void removePolygonAt(std::size_t index);
171  void setPolygonAt(Polygon* polygon, std::size_t index);
188  void insertPolygonAt(Polygon* polygon, std::size_t index);
205  const Polygon& getPolygonAt(std::size_t index) const;
206 };
207 } // namespace geom
208 } // namespace gear
209 } // namespace fire
210 
211 #endif
Definition: Polygon.hpp:50
Definition: PrecisionModel.hpp:50
Definition: GeometryCollection.hpp:51
Definition: MultiPolygon.hpp:48