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
LineBuilder & | operator= (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:

- Linework is fully noded
- Lines are as long as possible between nodes

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:

- LineBuilder.h