21#include <geos/export.h>
23#include <geos/geom/Coordinate.h>
24#include <geos/geom/Envelope.h>
25#include <geos/noding/snapround/HotPixelIndex.h>
26#include <geos/noding/Noder.h>
36class NodedSegmentString;
78 static constexpr int INTERSECTION_NEARNESS_FACTOR = 100;
82 noding::snapround::HotPixelIndex pixelIndex;
83 std::vector<SegmentString*> snappedResult;
86 void snapRound(std::vector<SegmentString*>& inputSegStrings, std::vector<SegmentString*>& resultNodedSegments);
95 void addVertexPixels(std::vector<SegmentString*>& segStrings);
102 void addIntersectionPixels(std::vector<SegmentString*>& segStrings);
120 void computeSnaps(
const std::vector<SegmentString*>& segStrings, std::vector<SegmentString*>& snapped);
131 void snapSegment(
const geom::CoordinateXY& p0,
const geom::CoordinateXY& p1,
NodedSegmentString* ss, std::size_t segIndex);
139 void snapVertexNode(
const geom::CoordinateXY& p0,
NodedSegmentString* ss, std::size_t segIndex);
157 void computeNodes(std::vector<SegmentString*>* inputSegStrings)
override;
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Specifies the precision model of the Coordinate in a Geometry.
Definition PrecisionModel.h:90
Represents a list of contiguous line segments, and supports noding the segments.
Definition NodedSegmentString.h:58
Computes all intersections between segments in a set of SegmentString.
Definition Noder.h:46
Definition SnapRoundingNoder.h:71
void computeNodes(std::vector< SegmentString * > *inputSegStrings) override
std::vector< SegmentString * > * getNodedSubstrings() const override
Basic namespace for all GEOS functionalities.
Definition geos.h:39