20 #ifndef GEOS_OP_OVERLAY_SNAP_LINESTRINGSNAPPER_H 21 #define GEOS_OP_OVERLAY_SNAP_LINESTRINGSNAPPER_H 23 #include <geos/geom/Coordinate.h> 24 #include <geos/geom/CoordinateSequence.h> 25 #include <geos/geom/CoordinateList.h> 66 snapTolerance(nSnapTol),
67 allowSnappingToSourceVertices(false)
69 size_t s = srcPts.size();
70 isClosed = s < 2 ? false : srcPts[0].equals2D(srcPts[s - 1]);
77 setAllowSnappingToSourceVertices(
bool allow)
79 allowSnappingToSourceVertices = allow;
88 bool allowSnappingToSourceVertices;
98 geom::Coordinate::ConstVect::const_iterator findSnapForVertex(
const geom::Coordinate& pt,
146 geom::CoordinateList::iterator findSegmentToSnap(
148 geom::CoordinateList::iterator from,
149 geom::CoordinateList::iterator too_far);
151 geom::CoordinateList::iterator findVertexToSnap(
153 geom::CoordinateList::iterator from,
154 geom::CoordinateList::iterator too_far);
157 LineStringSnapper(
const LineStringSnapper& other) =
delete;
158 LineStringSnapper& operator=(
const LineStringSnapper& rhs) =
delete;
167 #endif // GEOS_OP_OVERLAY_SNAP_LINESTRINGSNAPPER_H Snaps the vertices and segments of a LineString to a set of target snap vertices.
Definition: LineStringSnapper.h:51
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
std::vector< const Coordinate * > ConstVect
A vector of const Coordinate pointers.
Definition: Coordinate.h:71
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
std::vector< Coordinate > Vect
A vector of Coordinate objects (real object, not pointers)
Definition: Coordinate.h:77
A list of Coordinates, which may be set to prevent repeated coordinates from occuring in the list.
Definition: CoordinateList.h:55
LineStringSnapper(const geom::Coordinate::Vect &nSrcPts, double nSnapTol)
Definition: LineStringSnapper.h:62