25#include <geos/export.h>
27#include <geos/operation/union/UnionStrategy.h>
28#include <geos/util/Progress.h>
55 ClassicUnionStrategy() {};
106 const std::vector<const geom::Surface*>& inputPolys;
116 static int const STRTREE_NODE_CAPACITY = 4;
133 static std::unique_ptr<geom::Geometry> restrictToSurfaces(std::unique_ptr<geom::Geometry> g);
143 static std::unique_ptr<geom::Geometry>
Union(
const std::vector<const geom::Surface*>& polys);
156 static std::unique_ptr<geom::Geometry>
159 std::vector<const geom::Surface*> polys;
160 for(T i = start; i != end; ++i) {
164 return Union(polys, unionStrategy, progressFunction);
185 , geomFactory(nullptr)
186 , unionFunction(&defaultUnionFunction)
191 , geomFactory(nullptr)
192 , unionFunction(unionFun)
218 std::unique_ptr<geom::Geometry> binaryUnion(
219 const std::vector<const geom::Geometry*> & geoms,
222 std::function<
void()>* unitProgress);
235 std::unique_ptr<geom::Geometry> unionSafe(std::unique_ptr<geom::Geometry> &&, std::unique_ptr<geom::Geometry> &&)
const;
246 std::unique_ptr<geom::Geometry> unionActual(std::unique_ptr<geom::Geometry> &&, std::unique_ptr<geom::Geometry> &&)
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:72
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:201
Definition MultiPolygon.h:57
Provides an efficient method of unioning a collection of polygonal geometries.
Definition CascadedPolygonUnion.h:104
CascadedPolygonUnion(const std::vector< const geom::Surface * > &polys)
Creates a new instance to union the given collection of Geometrys.
Definition CascadedPolygonUnion.h:183
static std::unique_ptr< geom::Geometry > Union(T start, T end, UnionStrategy *unionStrategy, geos::util::ProgressFunction *progressFunction)
Computes the union of a set of surface Geometrys.
Definition CascadedPolygonUnion.h:157
static std::unique_ptr< geom::Geometry > Union(const std::vector< const geom::Surface * > &polys)
Computes the union of a collection of polygonal Geometrys.
std::unique_ptr< geom::Geometry > Union(geos::util::ProgressFunction *progressFunction)
Computes the union of the input geometries.
static std::unique_ptr< geom::Geometry > Union(const geom::MultiPolygon *polys, geos::util::ProgressFunction *progressFunction)
Computes the union of a collection of polygonal Geometrys.
Implementation of UnionStrategy that provides overlay using the first generation overlay routines.
Definition CascadedPolygonUnion.h:51
bool isFloatingPrecision() const override
std::unique_ptr< geom::Geometry > Union(const geom::Geometry *, const geom::Geometry *) override
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 CleanCoverage.h:34
std::function< void(double, const char *)> ProgressFunction
Definition Progress.h:29
Basic namespace for all GEOS functionalities.
Definition geos.h:38