4 #ifndef FIRE_GEAR_GEOM_POLYGON_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_POLYGON_HPP_INCLUDED
9 #include "fire/export.hpp"
11 #include "fire/gear/geom/Geometry.hpp"
18 class CoordinateSequence;
60 std::auto_ptr< LinearRing > exteriorRing;
67 std::auto_ptr< std::vector< LinearRing* > > interiorRings;
79 void loadJsonValueGeometry(Json::Value& value)
const;
91 void loadJsonValueCoordinates(Json::Value& value)
const;
103 virtual void setCoordinatesFromJsonValue(Json::Value& value);
111 bool isZ_DoubleNotANumber()
const;
247 std::size_t getInteriorRingsCount()
const;
256 const LinearRing& getInteriorRingAt(std::size_t index)
const;
297 void setInteriorRingAt(
LinearRing* linearRing, std::size_t index);
331 void insertInteriorRingAt(
LinearRing* lineraRing, std::size_t index);
360 void removeInteriorRingAt(std::size_t index);
366 void clearInteriorRings();
378 double getLength()
const;
390 double getArea()
const;
402 std::size_t getCoordinatesCount()
const;
438 bool isEmpty()
const;
471 virtual bool isUpdated()
const;
Definition: Polygon.hpp:50
Definition: PrecisionModel.hpp:50
Definition: LinearRing.hpp:47
GeometryType
Definition: GeometryType.hpp:43
Definition: CoordinateSequence.hpp:49
Definition: Geometry.hpp:69
Definition: MultiPolygon.hpp:48
DimensionType
Definition: DimensionType.hpp:41