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)
124 std::vector<CoordinateSequence*>& lineList);
159 double distance, std::vector<CoordinateSequence*>& lineList,
160 bool leftSide,
bool rightSide) ;
174 std::vector<CoordinateSequence*>& lineList);
188 int side,
double pDistance);
192 std::vector<CoordinateSequence*>& lineList);
194 std::unique_ptr<CoordinateSequence> getOffsetCurve(
214 static const double SIMPLIFY_FACTOR;
223 double simplifyTolerance(
double bufDistance);
238 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:88
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
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 getLineCurve(const CoordinateSequence *inputPts, double distance, std::vector< CoordinateSequence * > &lineList)
This method handles single points as well as lines.
bool isLineOffsetEmpty(double distance)
void getSingleSidedLineCurve(const CoordinateSequence *inputPts, double distance, std::vector< CoordinateSequence * > &lineList, bool leftSide, bool rightSide)
This method handles single points as well as lines.
std::unique_ptr< CoordinateSequence > getLineCurve(const CoordinateSequence *inputPts, double pDistance)
void getRingCurve(const CoordinateSequence *inputPts, int side, double distance, std::vector< CoordinateSequence * > &lineList)
This method handles the degenerate cases of single points and lines, as well as rings.
Definition OffsetSegmentGenerator.h:60
Basic namespace for all GEOS functionalities.
Definition geos.h:39