Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | Related Pages

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 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 Wed Jul 4 09:00:12 2012 for GEOS by  doxygen 1.3.9.1