21#ifndef GEOS_OP_BUFFER_BUFFEROP_H
22#define GEOS_OP_BUFFER_BUFFEROP_H
24#include <geos/export.h>
25#include <geos/operation/buffer/BufferParameters.h>
27#include <geos/util/TopologyException.h>
31#pragma warning(disable: 4251)
89 static const int MAX_PRECISION_DIGITS = 12;
108 double distance,
int maxPrecisionDigits);
122 void computeGeometry();
124 void bufferOriginalPrecision();
126 void bufferReducedPrecision(
int precisionDigits);
128 void bufferReducedPrecision();
137 CAP_ROUND = BufferParameters::CAP_ROUND,
141 CAP_BUTT = BufferParameters::CAP_FLAT,
145 CAP_SQUARE = BufferParameters::CAP_SQUARE
162 int quadrantSegments =
163 BufferParameters::DEFAULT_QUADRANT_SEGMENTS,
164 int endCapStyle = BufferParameters::CAP_ROUND);
175 resultGeometry(nullptr)
191 resultGeometry(nullptr)
203 inline void setEndCapStyle(
int nEndCapStyle);
210 inline void setQuadrantSegments(
int nQuadrantSegments);
232 inline void setSingleSided(
bool isSingleSided);
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:87
Computes the buffer of a geometry, for both positive and negative buffer distances.
Definition: BufferOp.h:78
void setQuadrantSegments(int nQuadrantSegments)
Sets the number of segments used to approximate a angle fillet.
Definition: BufferOp.h:247
static geom::Geometry * bufferOp(const geom::Geometry *g, double distance, int quadrantSegments=BufferParameters::DEFAULT_QUADRANT_SEGMENTS, int endCapStyle=BufferParameters::CAP_ROUND)
Computes the buffer for a geometry for a given buffer distance and accuracy of approximation.
void setEndCapStyle(int nEndCapStyle)
Specifies the end cap style of the generated buffer.
Definition: BufferOp.h:253
void setSingleSided(bool isSingleSided)
Sets whether the computed buffer should be single-sided.
Definition: BufferOp.h:259
BufferOp(const geom::Geometry *g, const BufferParameters ¶ms)
Initializes a buffer computation for the given geometry with the given set of parameters.
Definition: BufferOp.h:187
BufferOp(const geom::Geometry *g)
Initializes a buffer computation for the given geometry.
Definition: BufferOp.h:171
geom::Geometry * getResultGeometry(double nDistance)
Returns the buffer computed for a geometry for a given buffer distance.
Contains the parameters which describe how a buffer should be constructed.
Definition: BufferParameters.h:57
void setEndCapStyle(EndCapStyle style)
Definition: BufferParameters.h:202
EndCapStyle
End cap styles.
Definition: BufferParameters.h:62
void setQuadrantSegments(int quadSegs)
Sets the number of line segments used to approximate an angle fillet.
void setSingleSided(bool p_isSingleSided)
Definition: BufferParameters.h:279
Indicates an invalid or inconsistent topological situation encountered during processing.
Definition: TopologyException.h:35
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26