20 #ifndef GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
21 #define GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
23 #include <geos/export.h>
27 #include <geos/inline.h>
29 #include <geos/noding/Noder.h>
30 #include <geos/algorithm/LineIntersector.h>
31 #include <geos/geom/Coordinate.h>
32 #include <geos/geom/PrecisionModel.h>
40 class LineIntersector;
44 class NodedSegmentString;
80 std::vector<SegmentString*>* getNodedSubstrings()
const;
82 void computeNodes(std::vector<SegmentString*>* inputSegmentStrings);
93 void computeVertexSnaps(
const std::vector<SegmentString*>& edges);
100 std::vector<SegmentString*>* nodedSegStrings;
102 void checkCorrectness(std::vector<SegmentString*>& inputSegmentStrings);
104 void snapRound(std::vector<SegmentString*>* segStrings,
118 void findInteriorIntersections(std::vector<SegmentString*>& segStrings,
126 void computeSnaps(
const std::vector<SegmentString*>& segStrings,
127 std::vector<geom::Coordinate>& snapPts);
151 #endif // GEOS_NODING_SNAPROUND_SIMPLESNAPROUNDER_H
Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentStrings.
Definition: SimpleSnapRounder.h:74
An interface for classes which represent a sequence of contiguous line segments.
Definition: SegmentString.h:46
Represents a list of contiguous line segments, and supports noding the segments.
Definition: NodedSegmentString.h:58
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:88
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:50
Computes all intersections between segments in a set of SegmentString.
Definition: Noder.h:50