GEOS
3.14.0dev
|
Creates all the raw offset curves for a buffer of a Geometry. More...
#include <BufferCurveSetBuilder.h>
Public Member Functions | |
BufferCurveSetBuilder (const geom::Geometry &newInputGeom, double newDistance, const geom::PrecisionModel *newPm, const BufferParameters &newBufParams) | |
Constructor. | |
~BufferCurveSetBuilder () | |
Destructor. | |
std::vector< noding::SegmentString * > & | getCurves () |
Computes the set of raw offset curves for the buffer. More... | |
void | addCurves (const std::vector< geom::CoordinateSequence * > &lineList, geom::Location leftLoc, geom::Location rightLoc) |
Add raw curves for a set of CoordinateSequences. More... | |
void | setInvertOrientation (bool p_isInvertOrientation) |
Creates all the raw offset curves for a buffer of a Geometry.
Raw curves need to be noded together and polygonized to form the final buffer area.
void geos::operation::buffer::BufferCurveSetBuilder::addCurves | ( | const std::vector< geom::CoordinateSequence * > & | lineList, |
geom::Location | leftLoc, | ||
geom::Location | rightLoc | ||
) |
Add raw curves for a set of CoordinateSequences.
lineList | is a list of CoordinateSequence, ownership of which is transferred here |
leftLoc | left location |
rightLoc | right location |
std::vector<noding::SegmentString*>& geos::operation::buffer::BufferCurveSetBuilder::getCurves | ( | ) |
Computes the set of raw offset curves for the buffer.
Each offset curve has an attached geomgraph::Label indicating its left and right location.
|
inline |
Sets whether the offset curve is generated using the inverted orientation of input rings. This allows generating a buffer(0) polygon from the smaller lobes of self-crossing rings.
p_isInvertOrientation | true if input ring orientation should be inverted |