23 #include <geos/export.h>
25 #include <geos/operation/union/UnionStrategy.h>
30 class GeometryFactory;
103 std::vector<geom::Polygon*>* inputPolys;
113 static int const STRTREE_NODE_CAPACITY = 4;
129 static std::unique_ptr<geom::Geometry> restrictToPolygons(std::unique_ptr<geom::Geometry> g);
140 static std::unique_ptr<geom::Geometry>
Union(std::vector<geom::Polygon*>* polys);
141 static std::unique_ptr<geom::Geometry> Union(std::vector<geom::Polygon*>* polys,
UnionStrategy* unionFun);
152 static std::unique_ptr<geom::Geometry>
155 std::vector<geom::Polygon*> polys;
156 for(T i = start; i != end; ++i) {
160 return Union(&polys, unionStrategy);
180 , geomFactory(nullptr)
181 , unionFunction(&defaultUnionFunction)
186 , geomFactory(nullptr)
187 , unionFunction(unionFun)
196 std::unique_ptr<geom::Geometry>
Union();
212 std::unique_ptr<geom::Geometry> binaryUnion(
const std::vector<const geom::Geometry*> & geoms, std::size_t start, std::size_t end);
225 std::unique_ptr<geom::Geometry> unionSafe(std::unique_ptr<geom::Geometry> &&, std::unique_ptr<geom::Geometry> &&);
236 std::unique_ptr<geom::Geometry> unionActual(std::unique_ptr<geom::Geometry> &&, std::unique_ptr<geom::Geometry> &&)
const;