4 #ifndef FIRE_GEAR_GEOM_GEOMETRYCOLLECTION_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_GEOMETRYCOLLECTION_HPP_INCLUDED
10 #include "fire/export.hpp"
12 #include "fire/gear/geom/Geometry.hpp"
64 void addClone(std::vector< Geometry* >* geometries);
76 void addClonePoint(std::vector< Point* >* points);
88 void addCloneLineString(std::vector< LineString* >* lineStrings);
100 void addClonePolygon(std::vector< Polygon* >* polygons);
112 void deleteGeometry(
Geometry* geometry);
124 virtual void loadJsonValueGeometry(Json::Value& value)
const;
126 virtual void setCoordinatesFromJsonValue(Json::Value& value){};
135 std::auto_ptr< std::vector< Geometry* > > _geometries;
312 bool isEmpty()
const;
336 double getLength()
const;
348 double getArea()
const;
360 std::size_t getGeometriesCount()
const;
377 Geometry& getGeometryAt(std::size_t index);
378 const Geometry& getGeometryAt(std::size_t index)
const;
390 std::vector< Geometry* >::const_iterator begin()
const;
402 std::vector< Geometry* >::const_iterator end()
const;
433 std::string toString()
const;
460 std::string toWkt(
bool oldStyle =
false,
int dimension = 3,
int decimalPrecision = -1)
const;
482 std::string toJson(
bool onlyGeom =
true,
bool pretty =
false)
const;
509 void toWkb(std::ostream& outputStream,
const int dimension = 3,
const int newByteOrder = getMachineByteOrder(),
const bool includeSRID =
false)
const;
521 std::size_t getCoordinatesCount()
const;
533 void addGeometry(
Geometry* geometry);
550 void setGeometryAt(
Geometry* geometry, std::size_t index);
567 void removeGeometryAt(std::size_t index);
584 void insertGeometryAt(
Geometry* geometry, std::size_t index);
590 void clearGeometries();
598 virtual bool isUpdated()
const;
606 bool isZ_DoubleNotANumber()
const;
Definition: PrecisionModel.hpp:50
Definition: GeometryCollection.hpp:51
GeometryType
Definition: GeometryType.hpp:43
GeometryType::GeometryType _idGeometryType
Definition: GeometryCollection.hpp:142
Definition: Geometry.hpp:69
DimensionType
Definition: DimensionType.hpp:41