21 #ifndef GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
22 #define GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
24 #include <geos/export.h>
31 class GeometryFactory;
32 class GeometryCollection;
35 class GeometryEditorOperation;
79 class GEOS_DLL GeometryEditor {
84 const GeometryFactory* factory;
86 std::unique_ptr<Polygon> editPolygon(
const Polygon* polygon,
87 GeometryEditorOperation* operation);
89 std::unique_ptr<GeometryCollection> editGeometryCollection(
90 const GeometryCollection* collection,
91 GeometryEditorOperation* operation);
109 GeometryEditor(
const GeometryFactory* newFactory);
121 std::unique_ptr<Geometry> edit(
const Geometry* geometry,
122 GeometryEditorOperation* operation);