19 #ifndef GEOS_NODING_SNAPROUND_MCINDEXSNAPROUNDER_H 20 #define GEOS_NODING_SNAPROUND_MCINDEXSNAPROUNDER_H 22 #include <geos/export.h> 24 #include <geos/noding/Noder.h> 25 #include <geos/noding/NodedSegmentString.h> 26 #include <geos/noding/snapround/MCIndexPointSnapper.h> 27 #include <geos/algorithm/LineIntersector.h> 28 #include <geos/geom/Coordinate.h> 29 #include <geos/geom/PrecisionModel.h> 35 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 41 class LineIntersector;
84 li.setPrecisionModel(&pm);
88 return NodedSegmentString::getNodedSubstrings(*nodedSegStrings);
91 void computeNodes(std::vector<SegmentString*>* segStrings);
101 void computeVertexSnaps(std::vector<SegmentString*>& edges);
112 std::vector<SegmentString*>* nodedSegStrings;
114 std::auto_ptr<MCIndexPointSnapper> pointSnapper;
116 void snapRound(
MCIndexNoder& noder, std::vector<SegmentString*>* segStrings);
127 std::vector<SegmentString*>* segStrings,
128 std::vector<geom::Coordinate>& intersections);
134 void computeIntersectionSnaps(std::vector<geom::Coordinate>& snapPts);
142 void checkCorrectness(std::vector<SegmentString*>& inputSegmentStrings);
157 #endif // GEOS_NODING_SNAPROUND_MCINDEXSNAPROUNDER_H Represents a list of contiguous line segments, and supports noding the segments.
Definition: NodedSegmentString.h:57
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:87
double getScale() const
Returns the multiplying factor used to obtain a precise coordinate.
std::vector< SegmentString * > * getNodedSubstrings() const
Returns a Collection of fully noded SegmentStrings. The SegmentStrings have the same context as their...
Definition: MCIndexSnapRounder.h:87
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:49
Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentString.
Definition: MCIndexSnapRounder.h:74
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
Computes all intersections between segments in a set of SegmentString.
Definition: Noder.h:49
Nodes a set of SegmentString using a index based on index::chain::MonotoneChain and a index::SpatialI...
Definition: MCIndexNoder.h:63