GEOS 3.6.2
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, unsigned int componentIndex, unsigned int vertexIndex)
bool hasNext () const
void next ()
bool isEndOfLine () const
unsigned int getComponentIndex () const
unsigned int 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

◆ LinearIterator() [1/3]

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

Referenced by getSegmentEnd().

◆ LinearIterator() [2/3]

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

◆ LinearIterator() [3/3]

geos::linearref::LinearIterator::LinearIterator ( const geom::Geometry * linear,
unsigned int componentIndex,
unsigned int 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

◆ getComponentIndex()

unsigned int geos::linearref::LinearIterator::getComponentIndex ( ) const

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

Returns
the current component index

◆ getLine()

const geom::LineString * geos::linearref::LinearIterator::getLine ( ) const

Gets the LineString component the iterator is current at.

Returns
a linestring

◆ getSegmentEnd()

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

References LinearIterator().

◆ getSegmentStart()

geom::Coordinate geos::linearref::LinearIterator::getSegmentStart ( ) const

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

Returns
a Coordinate

◆ getVertexIndex()

unsigned int geos::linearref::LinearIterator::getVertexIndex ( ) const

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

Returns
the current vertex index

◆ hasNext()

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

◆ isEndOfLine()

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

◆ next()

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: