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
MultiLineString.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_GEAR_GEOM_MULTILINESTRING_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_MULTILINESTRING_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 LineString;
17 } // namespace geom
18 } // namespace gear
19 } // namespace fire
20 
27 namespace fire {
34 namespace gear {
41 namespace geom {
48 class FIRE_ENGINE_DLL MultiLineString : 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:
93  explicit MultiLineString(std::vector< fire::gear::geom::LineString* >* lineStrings);
104  MultiLineString(PrecisionModel* precisionModel, int srid);
118  MultiLineString(std::vector< fire::gear::geom::LineString* >* lineStrings, PrecisionModel* precisionModel, int srid);
125  MultiLineString(const MultiLineString& multiLineString);
130  virtual ~MultiLineString();
142  bool isClosed() const;
154  void addLineString(LineString* lineString);
171  void setLineStringAt(LineString* lineString, std::size_t index);
188  void insertLineStringAt(LineString* lineString, std::size_t index);
200  void removeLineStringAt(std::size_t index);
217  const LineString& getLineStringAt(std::size_t index) const;
224  void reverse();
225 };
226 } // namespace geom
227 } // namespace gear
228 } // namespace fire
229 
230 #endif
Definition: PrecisionModel.hpp:50
Definition: GeometryCollection.hpp:51
Definition: MultiLineString.hpp:48
Definition: LineString.hpp:48