21 #ifndef GEOS_OP_BUFFER_BUFFERBUILDER_H
22 #define GEOS_OP_BUFFER_BUFFERBUILDER_H
24 #include <geos/export.h>
28 #include <geos/operation/buffer/BufferOp.h>
29 #include <geos/operation/buffer/OffsetCurveBuilder.h>
30 #include <geos/geomgraph/EdgeList.h>
34 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
42 class GeometryFactory;
45 class LineIntersector;
50 class IntersectionAdder;
88 class GEOS_DLL BufferBuilder {
100 BufferBuilder(
const BufferParameters& nBufParams)
102 bufParams(nBufParams),
103 workingPrecisionModel(nullptr),
105 intersectionAdder(nullptr),
106 workingNoder(nullptr),
127 workingPrecisionModel = pm;
140 workingNoder = newNoder;
165 double distance,
bool leftSide) ;
189 std::vector<geomgraph::Label*> newLabels;
191 void computeNodedEdges(std::vector<noding::SegmentString*>& bufSegStr,
207 std::vector<BufferSubgraph*>& list);
219 void buildSubgraphs(
const std::vector<BufferSubgraph*>& subgraphList,
255 #endif // ndef GEOS_OP_BUFFER_BUFFERBUILDER_H
Definition: geomgraph/Edge.h:65
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition: Label.h:89
Definition: EdgeList.h:57
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:86
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:24
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:48
Forms Polygon out of a graph of geomgraph::DirectedEdge.
Definition: PolygonBuilder.h:61
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:187
Computes all intersections between segments in a set of SegmentString.
Definition: Noder.h:48
Builds the buffer geometry for a given input geometry and precision model.
Definition: BufferBuilder.h:87
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:67
Contains the parameters which describe how a buffer should be constructed.
Definition: BufferParameters.h:56
Computes the intersections between two line segments in SegmentString and adds them to each string.
Definition: IntersectionAdder.h:59
Represents a directed graph which is embeddable in a planar surface.
Definition: geomgraph/PlanarGraph.h:74