21 #ifndef GEOS_OP_OVERLAY_SNAP_LINESTRINGSNAPPER_H
22 #define GEOS_OP_OVERLAY_SNAP_LINESTRINGSNAPPER_H
24 #include <geos/geom/Coordinate.h>
25 #include <geos/geom/CoordinateSequence.h>
26 #include <geos/geom/CoordinateList.h>
67 snapTolerance(nSnapTol),
68 allowSnappingToSourceVertices(false)
70 size_t s = srcPts.size();
71 isClosed = s < 2 ?
false : srcPts[0].equals2D(srcPts[s-1]);
77 void setAllowSnappingToSourceVertices(
bool allow) {
78 allowSnappingToSourceVertices = allow;
87 bool allowSnappingToSourceVertices;
97 geom::Coordinate::ConstVect::const_iterator findSnapForVertex(
const geom::Coordinate& pt,
145 geom::CoordinateList::iterator findSegmentToSnap(
147 geom::CoordinateList::iterator from,
148 geom::CoordinateList::iterator too_far);
151 LineStringSnapper(
const LineStringSnapper& other);
152 LineStringSnapper& operator=(
const LineStringSnapper& rhs);
161 #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:52
std::vector< const Coordinate * > ConstVect
A vector of const Coordinate pointers.
Definition: Coordinate.h:72
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:61
std::vector< Coordinate > Vect
A vector of Coordinate objects (real object, not pointers)
Definition: Coordinate.h:78
A list of Coordinates, which may be set to prevent repeated coordinates from occuring in the list...
Definition: CoordinateList.h:56
LineStringSnapper(const geom::Coordinate::Vect &nSrcPts, double nSnapTol)
Definition: LineStringSnapper.h:63