|
GEOS 3.15.0dev
|
An iterator over the components and coordinates of a linear geometry (LineString or MultiLineString). More...
#include <LinearIterator.h>
Public Member Functions | |
| LinearIterator (const geom::Geometry *linear) | |
| Creates an iterator initialized to the start of a linear Geometry. | |
| LinearIterator (const geom::Geometry *linear, const LinearLocation &start) | |
| Creates an iterator starting at a LinearLocation on a linear geom::Geometry. | |
| LinearIterator (const geom::Geometry *linear, std::size_t componentIndex, std::size_t vertexIndex) | |
| Creates an iterator starting at a component and vertex in a linear geom::Geometry. | |
| bool | hasNext () const |
| Tests whether there are any vertices left to iterator over. | |
| void | next () |
| Moves the iterator ahead to the next vertex and (possibly) linear component. | |
| bool | isEndOfLine () const |
| Checks whether the iterator cursor is pointing to the endpoint of a component geom::LineString. | |
| std::size_t | getComponentIndex () const |
| The component index of the vertex the iterator is currently at. | |
| std::size_t | getVertexIndex () const |
| The vertex index of the vertex the iterator is currently at. | |
| const geom::LineString * | getLine () const |
| Gets the geom::LineString component the iterator is current at. | |
| geom::Coordinate | getSegmentStart () const |
| Gets the first geom::Coordinate of the current segment. (the coordinate of the current vertex). | |
| geom::Coordinate | getSegmentEnd () const |
Gets the second geom::Coordinate of the current segment. (the coordinate of the next vertex). If the iterator is at the end of a line, null is returned. | |
An iterator over the components and coordinates of a linear geometry (LineString or MultiLineString).
The standard usage pattern for a LinearIterator is:
| geos::linearref::LinearIterator::LinearIterator | ( | const geom::Geometry * | linear | ) |
Creates an iterator initialized to the start of a linear Geometry.
| linear | the linear geometry to iterate over |
| geos::linearref::LinearIterator::LinearIterator | ( | const geom::Geometry * | linear, |
| const LinearLocation & | start | ||
| ) |
Creates an iterator starting at a LinearLocation on a linear geom::Geometry.
| linear | the linear geometry to iterate over |
| start | the location to start at |
| geos::linearref::LinearIterator::LinearIterator | ( | const geom::Geometry * | linear, |
| std::size_t | componentIndex, | ||
| std::size_t | vertexIndex | ||
| ) |
Creates an iterator starting at a component and vertex in a linear geom::Geometry.
| linear | the linear geometry to iterate over |
| componentIndex | the component to start at |
| vertexIndex | the vertex to start at |
| std::size_t geos::linearref::LinearIterator::getComponentIndex | ( | ) | const |
The component index of the vertex the iterator is currently at.
| const geom::LineString * geos::linearref::LinearIterator::getLine | ( | ) | const |
Gets the geom::LineString component the iterator is current at.
| geom::Coordinate geos::linearref::LinearIterator::getSegmentEnd | ( | ) | const |
Gets the second geom::Coordinate of the current segment. (the coordinate of the next vertex). If the iterator is at the end of a line, null is returned.
null | geom::Coordinate geos::linearref::LinearIterator::getSegmentStart | ( | ) | const |
Gets the first geom::Coordinate of the current segment. (the coordinate of the current vertex).
| std::size_t geos::linearref::LinearIterator::getVertexIndex | ( | ) | const |
The vertex index of the vertex the iterator is currently at.
| bool geos::linearref::LinearIterator::hasNext | ( | ) | const |
Tests whether there are any vertices left to iterator over.
true if there are more vertices to scan | bool geos::linearref::LinearIterator::isEndOfLine | ( | ) | const |
Checks whether the iterator cursor is pointing to the endpoint of a component geom::LineString.
true if the iterator is at an endpoint