Public Member Functions

geos::linearref::LinearIterator Class Reference

#include <LinearIterator.h>

List of all members.

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 (LineStrings and MultiLineStrings.

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:
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 Geometry

Parameters:
linear the linear geometry to iterate over
start the location to start at
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:
linear the linear geometry to iterate over
componentIndex the component to start at
vertexIndex the vertex to start at

Member Function Documentation

unsigned int 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
unsigned int 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 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: