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
Snaps the vertices and segments of a LineString to a set of target snap vertices. ...
Definition: LineStringSnapper.h:51
std::vector< const Coordinate * > ConstVect
A vector of const Coordinate pointers.
Definition: Coordinate.h:71
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
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