17#include <geos/geom/Geometry.h>
18#include <geos/util/IllegalArgumentException.h>
19#include <geos/simplify/RingHull.h>
98 , geomFactory(geom->getFactory())
100 , vertexNumFraction(-1.0)
101 , areaDeltaRatio(-1.0)
103 if (!geom->isPolygonal()) {
121 static std::unique_ptr<Geometry>
hull(
124 double vertexNumFraction);
142 double areaDeltaRatio);
176 double vertexNumFraction;
177 double areaDeltaRatio;
180 std::vector<std::unique_ptr<RingHull>> ringStore;
189 std::unique_ptr<Geometry> computeMultiPolygonAll(
const MultiPolygon* multiPoly);
190 std::unique_ptr<Geometry> computeMultiPolygonEach(
const MultiPolygon* multiPoly);
191 std::unique_ptr<Polygon> computePolygon(
const Polygon* poly);
201 std::vector<RingHull*> initPolygon(
const Polygon* poly,
202 RingHullIndex& hullIndex);
204 double ringArea(
const Polygon* poly)
const;
206 RingHull* createRingHull(
210 RingHullIndex& hullIndex);
212 std::unique_ptr<Polygon> polygonHull(
214 std::vector<RingHull*>& ringHulls,
215 RingHullIndex& hullIndex)
const;
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition LinearRing.h:54
Definition MultiPolygon.h:58
Represents a linear polygon, which may include holes.
Definition Polygon.h:61
Definition PolygonHullSimplifier.h:77
static std::unique_ptr< Geometry > hull(const Geometry *geom, bool isOuter, double vertexNumFraction)
void setAreaDeltaRatio(double p_areaDeltaRatio)
std::unique_ptr< Geometry > getResult()
PolygonHullSimplifier(const Geometry *geom, bool bOuter)
Definition PolygonHullSimplifier.h:96
void setVertexNumFraction(double p_vertexNumFraction)
static std::unique_ptr< Geometry > hullByAreaDelta(const Geometry *geom, bool isOuter, double areaDeltaRatio)
Indicates one or more illegal arguments.
Definition IllegalArgumentException.h:33
Basic namespace for all GEOS functionalities.
Definition geos.h:39