22 #include <geos/export.h>
24 #include <geos/operation/buffer/BufferParameters.h>
25 #include <geos/operation/buffer/OffsetSegmentGenerator.h>
32 #pragma warning(disable: 4251)
38 class 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 > getLineCurve(const CoordinateSequence *inputPts, double pDistance)
void getLineCurve(const CoordinateSequence *inputPts, double distance, std::vector< CoordinateSequence * > &lineList)
This method handles single points as well as lines.
const BufferParameters & getBufferParameters() const
Gets the buffer parameters being used to generate the curve.
Definition: OffsetCurveBuilder.h:92
bool isLineOffsetEmpty(double distance)
std::unique_ptr< CoordinateSequence > getRingCurve(const CoordinateSequence *inputPts, int side, double pDistance)
void getSingleSidedLineCurve(const CoordinateSequence *inputPts, double distance, std::vector< CoordinateSequence * > &lineList, bool leftSide, bool rightSide)
This method handles single points as well as lines.
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: Angle.h:25