GEOS 3.14.0dev
Public Member Functions | List of all members
geos::operation::overlayng::LineBuilder Class Reference

#include <LineBuilder.h>

Public Member Functions

 LineBuilder (const InputGeometry *inputGeom, OverlayGraph *p_graph, bool p_hasResultArea, int p_opCode, const geom::GeometryFactory *geomFact)
 
 LineBuilder (const LineBuilder &)=delete
 
LineBuilderoperator= (const LineBuilder &)=delete
 
std::vector< std::unique_ptr< geom::LineString > > getLines ()
 
void setStrictMode (bool p_isStrictResultMode)
 

Detailed Description

Finds and builds overlay result lines from the overlay graph. Output linework has the following semantics:

Various strategies are possible for how to merge graph edges into lines. This implementation uses the approach of having output lines run contiguously from node to node. For rings a node point is chosen arbitrarily.

Another possible strategy would be to preserve input linework as far as possible (i.e. any sections of input lines which are not coincident with other linework would be preserved).

It would also be possible to output LinearRings, if the input is a LinearRing and is unchanged. This will require additional info from the input linework.

Author
Martin Davis

The documentation for this class was generated from the following file: