GEOS 3.3.8

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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, unsigned int componentIndex, unsigned int vertexIndex)
bool | hasNext () const
void | next ()
bool | isEndOfLine () const
unsigned int | getComponentIndex () const
unsigned int | getVertexIndex () const
const geom::LineString * | getLine () 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:

- LinearIterator.h