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);
111 std::vector<geom::Coordinate> round(
const std::vector<geom::Coordinate>& pts)
const;
120 void computeSnaps(
const std::vector<SegmentString*>& segStrings, std::vector<SegmentString*>& snapped);
157 void computeNodes(std::vector<SegmentString*>* inputSegStrings)
override;
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
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:59
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