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)
49class IntersectionAdder;
100 bufParams(nBufParams),
101 workingPrecisionModel(nullptr),
103 intersectionAdder(nullptr),
104 workingNoder(nullptr),
107 isInvertOrientation(false)
126 workingPrecisionModel = pm;
139 workingNoder = newNoder;
153 isInvertOrientation = p_isInvertOrientation;
157 std::unique_ptr<geom::Geometry> buffer(
const geom::Geometry* g,
double distance);
179 double distance,
bool leftSide);
202 std::vector<geomgraph::Label*> newLabels;
204 bool isInvertOrientation;
206 void computeNodedEdges(std::vector<noding::SegmentString*>& bufSegStr,
222 std::vector<BufferSubgraph*>& list);
234 void buildSubgraphs(
const std::vector<BufferSubgraph*>& subgraphList,
255 std::unique_ptr<geom::Geometry> createEmptyResultGeometry()
const;
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition LineIntersector.h:53
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:88
A EdgeList is a list of Edges.
Definition EdgeList.h:55
Definition geomgraph/Edge.h:63
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition Label.h:57
Represents a directed graph which is embeddable in a planar surface.
Definition geomgraph/PlanarGraph.h:72
Computes the intersections between two line segments in SegmentString and adds them to each string.
Definition IntersectionAdder.h:54
Computes all intersections between segments in a set of SegmentString.
Definition Noder.h:46
Builds the buffer geometry for a given input geometry and precision model.
Definition BufferBuilder.h:86
BufferBuilder(const BufferParameters &nBufParams)
Definition BufferBuilder.h:98
void setInvertOrientation(bool p_isInvertOrientation)
Definition BufferBuilder.h:151
void setNoder(noding::Noder *newNoder)
Definition BufferBuilder.h:137
void setWorkingPrecisionModel(const geom::PrecisionModel *pm)
Definition BufferBuilder.h:124
std::unique_ptr< geom::Geometry > bufferLineSingleSided(const geom::Geometry *g, double distance, bool leftSide)
Contains the parameters which describe how a buffer should be constructed.
Definition BufferParameters.h:56
Forms Polygon out of a graph of geomgraph::DirectedEdge.
Definition buffer/PolygonBuilder.h:61
Basic namespace for all GEOS functionalities.
Definition geos.h:39