GEOS  3.8.0dev
Public Member Functions | List of all members
geos::linearref::LinearIterator Class Reference

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)
 
 LinearIterator (const geom::Geometry *linear, const LinearLocation &start)
 
 LinearIterator (const geom::Geometry *linear, size_t componentIndex, size_t vertexIndex)
 
bool hasNext () const
 
void next ()
 
bool isEndOfLine () const
 
size_t getComponentIndex () const
 
size_t getVertexIndex () const
 
const geom::LineStringgetLine () const
 
geom::Coordinate getSegmentStart () const
 
geom::Coordinate getSegmentEnd () const
 

Detailed Description

An iterator over the components and coordinates of a linear geometry (LineString or MultiLineString).

The standard usage pattern for a LinearIterator is:

for (LinearIterator it = new LinearIterator(...); it.hasNext(); it.next()) {
  ...
  int ci = it.getComponentIndex();   // for example
  int vi = it.getVertexIndex();      // for example
  ...
}
Version
1.7

Constructor & Destructor Documentation

geos::linearref::LinearIterator::LinearIterator ( const geom::Geometry linear)

Creates an iterator initialized to the start of a linear Geometry

Parameters
linearthe 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 Geometry

Parameters
linearthe linear geometry to iterate over
startthe location to start at
geos::linearref::LinearIterator::LinearIterator ( const geom::Geometry linear,
size_t  componentIndex,
size_t  vertexIndex 
)

Creates an iterator starting at a component and vertex in a linear Geometry

Parameters
linearthe linear geometry to iterate over
componentIndexthe component to start at
vertexIndexthe vertex to start at

Member Function Documentation

size_t geos::linearref::LinearIterator::getComponentIndex ( ) const

The component index of the vertex the iterator is currently at.

Returns
the current component index
const geom::LineString* geos::linearref::LinearIterator::getLine ( ) const

Gets the LineString component the iterator is current at.

Returns
a linestring
geom::Coordinate geos::linearref::LinearIterator::getSegmentEnd ( ) const

Gets the second Coordinate of the current segment. (the coordinate of the next vertex). If the iterator is at the end of a line, null is returned.

Returns
a Coordinate or null
geom::Coordinate geos::linearref::LinearIterator::getSegmentStart ( ) const

Gets the first Coordinate of the current segment. (the coordinate of the current vertex).

Returns
a Coordinate
size_t geos::linearref::LinearIterator::getVertexIndex ( ) const

The vertex index of the vertex the iterator is currently at.

Returns
the current vertex index
bool geos::linearref::LinearIterator::hasNext ( ) const

Tests whether there are any vertices left to iterator over.

Returns
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 LineString.

Returns
true</true> if the iterator is at an endpoint
void geos::linearref::LinearIterator::next ( )

Moves the iterator ahead to the next vertex and (possibly) linear component.


The documentation for this class was generated from the following file: