21#include <geos/export.h>
25#include <unordered_set>
27#include <geos/geom/Geometry.h>
28#include <geos/operation/union/UnionStrategy.h>
29#include <geos/operation/union/CascadedPolygonUnion.h>
96class GEOS_DLL OverlapUnion {
103 , unionFunction(unionFun)
109 : OverlapUnion(p_g0, p_g1, &defaultUnionFunction)
113 std::unique_ptr<geom::Geometry> doUnion();
126 std::unique_ptr<geom::Geometry> extractByEnvelope(
const geom::Envelope& env,
const geom::Geometry*
geom, std::vector<std::unique_ptr<geom::Geometry>>& disjointGeoms);
127 static std::unique_ptr<geom::Geometry> combine(std::unique_ptr<geom::Geometry>& unionGeom, std::vector<std::unique_ptr<geom::Geometry>>& disjointPolys);
131 static bool isEqual(std::vector<geom::LineSegment>& segs0, std::vector<geom::LineSegment>& segs1);
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
const GeometryFactory * getFactory() const
Gets the factory which contains the context in which this geometry was created.
Definition Geometry.h:227
Definition LineSegment.h:61
Implementation of UnionStrategy that provides overlay using the first generation overlay routines.
Definition CascadedPolygonUnion.h:48
Definition UnionStrategy.h:40
Classes to perform efficient unioning of collections of geometries.
Definition namespaces.h:286
Provides classes for implementing operations on geometries.
Definition namespaces.h:179
Basic namespace for all GEOS functionalities.
Definition geos.h:39