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]);
76 void setAllowSnappingToSourceVertices(
bool allow) {
77 allowSnappingToSourceVertices = allow;
86 bool allowSnappingToSourceVertices;
96 geom::Coordinate::ConstVect::const_iterator findSnapForVertex(
const geom::Coordinate& pt,
144 geom::CoordinateList::iterator findSegmentToSnap(
146 geom::CoordinateList::iterator from,
147 geom::CoordinateList::iterator too_far);
149 geom::CoordinateList::iterator findVertexToSnap(
151 geom::CoordinateList::iterator from,
152 geom::CoordinateList::iterator too_far);
155 LineStringSnapper(
const LineStringSnapper& other);
156 LineStringSnapper& operator=(
const LineStringSnapper& rhs);
165 #endif // GEOS_OP_OVERLAY_SNAP_LINESTRINGSNAPPER_H