23 #include <geos/export.h> 27 #include <geos/operation/buffer/BufferOp.h> 28 #include <geos/operation/buffer/OffsetCurveBuilder.h> 29 #include <geos/geomgraph/EdgeList.h> 33 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 41 class GeometryFactory;
44 class LineIntersector;
49 class IntersectionAdder;
101 bufParams(nBufParams),
102 workingPrecisionModel(nullptr),
104 intersectionAdder(nullptr),
105 workingNoder(nullptr),
108 isInvertOrientation(false)
127 workingPrecisionModel = pm;
140 workingNoder = newNoder;
154 isInvertOrientation = p_isInvertOrientation;
158 std::unique_ptr<geom::Geometry> buffer(
const geom::Geometry* g,
double distance);
178 std::unique_ptr<geom::Geometry> bufferLineSingleSided(
180 double distance,
bool leftSide);
203 std::vector<geomgraph::Label*> newLabels;
205 bool isInvertOrientation;
207 void computeNodedEdges(std::vector<noding::SegmentString*>& bufSegStr,
223 std::vector<BufferSubgraph*>& list);
235 void buildSubgraphs(
const std::vector<BufferSubgraph*>& subgraphList,
256 std::unique_ptr<geom::Geometry> createEmptyResultGeometry()
const;
void setInvertOrientation(bool p_isInvertOrientation)
Definition: BufferBuilder.h:152
Forms Polygon out of a graph of geomgraph::DirectedEdge.
Definition: PolygonBuilder.h:61
BufferBuilder(const BufferParameters &nBufParams)
Definition: BufferBuilder.h:99
Represents a directed graph which is embeddable in a planar surface.
Definition: geomgraph/PlanarGraph.h:72
A EdgeList is a list of Edges.
Definition: EdgeList.h:55
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:90
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:53
Computes the intersections between two line segments in SegmentString and adds them to each string...
Definition: IntersectionAdder.h:54
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:65
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition: Label.h:57
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25
Computes all intersections between segments in a set of SegmentString.
Definition: Noder.h:46
Contains the parameters which describe how a buffer should be constructed.
Definition: BufferParameters.h:56
void setWorkingPrecisionModel(const geom::PrecisionModel *pm)
Definition: BufferBuilder.h:125
Builds the buffer geometry for a given input geometry and precision model.
Definition: BufferBuilder.h:87
void setNoder(noding::Noder *newNoder)
Definition: BufferBuilder.h:138
Definition: geomgraph/Edge.h:63