GEOS
3.9.1dev
|
#include <OffsetSegmentString.h>
Public Member Functions | |
OffsetSegmentString () | |
~OffsetSegmentString () | |
void | reset () |
void | setPrecisionModel (const geom::PrecisionModel *nPrecisionModel) |
void | setMinimumVertexDistance (double nMinVertexDistance) |
void | addPt (const geom::Coordinate &pt) |
void | addPts (const geom::CoordinateSequence &pts, bool isForward) |
void | closeRing () |
geom::CoordinateSequence * | getCoordinates () |
size_t | size () const |
Private Member Functions | |
bool | isRedundant (const geom::Coordinate &pt) const |
Tests whether the given point is redundant relative to the previous point in the list (up to tolerance) More... | |
OffsetSegmentString (const OffsetSegmentString &)=delete | |
OffsetSegmentString & | operator= (const OffsetSegmentString &)=delete |
Private Attributes | |
geom::CoordinateArraySequence * | ptList |
const geom::PrecisionModel * | precisionModel |
double | minimumVertexDistance |
The distance below which two adjacent points on the curve are considered to be coincident. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const OffsetSegmentString &node) |
A dynamic list of the vertices in a constructed offset curve.
Automatically removes close vertices which are closer than a given tolerance.
Definition at line 43 of file OffsetSegmentString.h.
|
privatedelete |
|
inline |
Definition at line 87 of file OffsetSegmentString.h.
Referenced by isRedundant().
|
inline |
Definition at line 95 of file OffsetSegmentString.h.
References ptList.
|
inline |
Definition at line 127 of file OffsetSegmentString.h.
References geos::geom::CoordinateArraySequence::add(), isRedundant(), and geos::geom::PrecisionModel::makePrecise().
Referenced by addPts().
|
inline |
Definition at line 144 of file OffsetSegmentString.h.
References addPt(), and geos::geom::CoordinateSequence::size().
|
inline |
Check that points are a ring
add the startpoint again if they are not
Definition at line 162 of file OffsetSegmentString.h.
References geos::geom::CoordinateArraySequence::add(), geos::geom::CoordinateSequence::back(), geos::geom::Coordinate::equals(), geos::geom::CoordinateSequence::front(), and geos::geom::CoordinateSequence::size().
Referenced by getCoordinates().
|
inline |
Get coordinates by taking ownership of them
After this call, the coordinates reference in this object are dropped. Calling twice will segfault...
FIXME: refactor memory management of this
Definition at line 185 of file OffsetSegmentString.h.
References closeRing(), and ptList.
|
inlineprivate |
Tests whether the given point is redundant relative to the previous point in the list (up to tolerance)
pt |
Definition at line 67 of file OffsetSegmentString.h.
References geos::geom::CoordinateSequence::back(), geos::geom::Coordinate::distance(), OffsetSegmentString(), operator<<, operator=(), and geos::geom::CoordinateSequence::size().
Referenced by addPt().
|
privatedelete |
|
inline |
Definition at line 101 of file OffsetSegmentString.h.
References geos::geom::CoordinateArraySequence::clear().
|
inline |
Definition at line 121 of file OffsetSegmentString.h.
|
inline |
Definition at line 115 of file OffsetSegmentString.h.
|
inline |
Definition at line 194 of file OffsetSegmentString.h.
References geos::geom::CoordinateSequence::size().
|
friend |
Definition at line 202 of file OffsetSegmentString.h.
Referenced by isRedundant().
|
private |
The distance below which two adjacent points on the curve are considered to be coincident.
This is chosen to be a small fraction of the offset distance.
Definition at line 57 of file OffsetSegmentString.h.
|
private |
Definition at line 49 of file OffsetSegmentString.h.
|
private |
Definition at line 47 of file OffsetSegmentString.h.
Referenced by getCoordinates(), geos::operation::buffer::operator<<(), and ~OffsetSegmentString().