17 #include <geos/geom/Geometry.h> 18 #include <geos/util/IllegalArgumentException.h> 19 #include <geos/simplify/RingHull.h> 101 , geomFactory(geom->getFactory())
103 , vertexNumFraction(-1.0)
104 , areaDeltaRatio(-1.0)
106 if (!geom->isPolygonal()) {
124 static std::unique_ptr<Geometry> hull(
127 double vertexNumFraction);
142 static std::unique_ptr<Geometry> hullByAreaDelta(
145 double areaDeltaRatio);
155 void setVertexNumFraction(
double p_vertexNumFraction);
162 void setAreaDeltaRatio(
double p_areaDeltaRatio);
169 std::unique_ptr<Geometry> getResult();
179 double vertexNumFraction;
180 double areaDeltaRatio;
183 std::vector<std::unique_ptr<RingHull>> ringStore;
192 std::unique_ptr<Geometry> computeMultiPolygonAll(
const MultiPolygon* multiPoly);
193 std::unique_ptr<Geometry> computeMultiPolygonEach(
const MultiPolygon* multiPoly);
194 std::unique_ptr<Polygon> computePolygon(
const Polygon* poly);
204 std::vector<RingHull*> initPolygon(
const Polygon* poly,
205 RingHullIndex& hullIndex);
207 double ringArea(
const Polygon* poly)
const;
209 RingHull* createRingHull(
213 RingHullIndex& hullIndex);
215 std::unique_ptr<Polygon> polygonHull(
217 std::vector<RingHull*>& ringHulls,
218 RingHullIndex& hullIndex)
const;
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:58
Definition: MultiPolygon.h:59
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Definition: PolygonHullSimplifier.h:85
Indicates one or more illegal arguments.
Definition: IllegalArgumentException.h:33
Represents a linear polygon, which may include holes.
Definition: Polygon.h:61
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:66
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple...
Definition: LinearRing.h:55
PolygonHullSimplifier(const Geometry *geom, bool bOuter)
Definition: PolygonHullSimplifier.h:99