22#include <geos/export.h>
24#include <geos/operation/buffer/BufferParameters.h>
25#include <geos/operation/buffer/OffsetSegmentGenerator.h>
32#pragma warning(disable: 4251)
38class CoordinateSequence;
82 , precisionModel(newPrecisionModel)
83 , bufParams(nBufParams)
123 std::vector<std::unique_ptr<CoordinateSequence>>& lineList);
158 double distance, std::vector<std::unique_ptr<CoordinateSequence>>& lineList,
159 bool leftSide,
bool rightSide) ;
173 std::vector<std::unique_ptr<CoordinateSequence>>& lineList);
187 int side,
double pDistance);
191 std::vector<std::unique_ptr<CoordinateSequence>>& lineList);
193 std::unique_ptr<CoordinateSequence> getOffsetCurve(
213 static const double SIMPLIFY_FACTOR;
222 double simplifyTolerance(
double bufDistance);
237 void computeOffsetCurve(
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:87
Contains the parameters which describe how a buffer should be constructed.
Definition BufferParameters.h:56
Computes the raw offset curve for a single Geometry component (ring, line or point).
Definition OffsetCurveBuilder.h:65
void getLineCurve(const CoordinateSequence *inputPts, double distance, std::vector< std::unique_ptr< CoordinateSequence > > &lineList)
This method handles single points as well as lines.
std::unique_ptr< CoordinateSequence > getRingCurve(const CoordinateSequence *inputPts, int side, double pDistance)
const BufferParameters & getBufferParameters() const
Gets the buffer parameters being used to generate the curve.
Definition OffsetCurveBuilder.h:92
void getSingleSidedLineCurve(const CoordinateSequence *inputPts, double distance, std::vector< std::unique_ptr< CoordinateSequence > > &lineList, bool leftSide, bool rightSide)
This method handles single points as well as lines.
bool isLineOffsetEmpty(double distance)
void getRingCurve(const CoordinateSequence *inputPts, int side, double distance, std::vector< std::unique_ptr< CoordinateSequence > > &lineList)
This method handles the degenerate cases of single points and lines, as well as rings.
std::unique_ptr< CoordinateSequence > getLineCurve(const CoordinateSequence *inputPts, double pDistance)
Definition OffsetSegmentGenerator.h:60
Basic namespace for all GEOS functionalities.
Definition geos.h:38