19 #ifndef GEOS_GEOM_UTIL_GEOMETRYCOMBINER_H
20 #define GEOS_GEOM_UTIL_GEOMETRYCOMBINER_H
29 class GeometryFactory;
49 class GeometryCombiner {
57 static std::unique_ptr<Geometry>
combine(std::vector<const Geometry*>
const& geoms);
58 static std::unique_ptr<Geometry>
combine(std::vector<std::unique_ptr<Geometry>>
const& geoms);
67 static std::unique_ptr<Geometry>
combine(
const Geometry* g0,
const Geometry* g1);
77 static std::unique_ptr<Geometry>
combine(
const Geometry* g0,
const Geometry* g1,
const Geometry* g2);
80 GeometryFactory
const* geomFactory;
82 std::vector<const Geometry*>
const& inputGeoms;
98 static GeometryFactory
const*
extractFactory(std::vector<const Geometry*>
const& geoms);
106 std::unique_ptr<Geometry>
combine();
109 void extractElements(
const Geometry* geom, std::vector<const Geometry*>& elems);