geos::linearref::LinearIterator Class Reference

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

#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 (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:
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 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:
Generated on 23 Sep 2013 for GEOS by  doxygen 1.4.7