GEOS
3.9.0dev

#include <GeometryEditor.h>
Public Member Functions  
GeometryEditor ()  
GeometryEditor (const GeometryFactory *newFactory)  
std::unique_ptr< Geometry >  edit (const Geometry *geometry, GeometryEditorOperation *operation) 
Supports creating a new Geometry which is a modification of an existing one. Geometry objects are intended to be treated as immutable. This class allows you to "modify" a Geometry by traversing it and creating a new Geometry with the same overall structure but possibly modified components.
The following kinds of modifications can be made:
Note that all changes must be consistent with the original Geometry's structure (e.g. a Polygon cannot be collapsed into a LineString).
The resulting Geometry is not checked for validity. If validity needs to be enforced, the new Geometry's isValid should be checked.
geos::geom::util::GeometryEditor::GeometryEditor  (  ) 
Creates a new GeometryEditor object which will create an edited Geometry with the same GeometryFactory as the input Geometry.
geos::geom::util::GeometryEditor::GeometryEditor  (  const GeometryFactory *  newFactory  ) 
Creates a new GeometryEditor object which will create the edited Geometry with the given GeometryFactory
newFactory  the GeometryFactory to create the edited Geometry with 
std::unique_ptr<Geometry> geos::geom::util::GeometryEditor::edit  (  const Geometry *  geometry, 
GeometryEditorOperation *  operation  
) 
Edit the input Geometry with the given edit operation. Clients will create subclasses of GeometryEditorOperation or CoordinateOperation to perform required modifications.
geometry  the Geometry to edit 
operation  the edit operation to carry out 