20 #ifndef GEOS_OP_BUFFER_OFFSETCURVEBUILDER_H
21 #define GEOS_OP_BUFFER_OFFSETCURVEBUILDER_H
23 #include <geos/export.h>
25 #include <geos/operation/buffer/BufferParameters.h>
26 #include <geos/operation/buffer/OffsetSegmentGenerator.h>
33 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
39 class CoordinateSequence;
62 class GEOS_DLL OffsetCurveBuilder {
72 OffsetCurveBuilder(
const geom::PrecisionModel* newPrecisionModel,
73 const BufferParameters& nBufParams)
76 precisionModel(newPrecisionModel),
86 getBufferParameters()
const
105 std::vector<geom::CoordinateSequence*>& lineList);
126 double distance, std::vector<geom::CoordinateSequence*>& lineList,
127 bool leftSide,
bool rightSide) ;
141 std::vector<geom::CoordinateSequence*>& lineList);
159 static const double SIMPLIFY_FACTOR;
168 double simplifyTolerance(
double bufDistance);
180 std::unique_ptr<OffsetSegmentGenerator> getSegGen(
double dist);
199 #endif // ndef GEOS_OP_BUFFER_OFFSETCURVEBUILDER_H