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>
36 class 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:88
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
std::vector< SegmentString * > * getNodedSubstrings() const override
void computeNodes(std::vector< SegmentString * > *inputSegStrings) override
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25