te::rst::AbstractPositionIterator< T > Class Template Referenceabstract

This class is the base for implementing ways to navigate over the band with spatial restriction, e.g. through a line, inside a bounding box or polygon, etc. More...

#include <PositionIterator.h>

Inheritance diagram for te::rst::AbstractPositionIterator< T >:
te::rst::LineIterator< T > te::rst::PointSetIterator< T > te::rst::PolygonIterator< T >

Public Member Functions

 AbstractPositionIterator ()
 Constructor. More...
 
 AbstractPositionIterator (const te::rst::Raster *r)
 Constructor. More...
 
 AbstractPositionIterator (const AbstractPositionIterator &rhs)
 Copy constructor. More...
 
virtual unsigned int getColumn () const =0
 Returns the current column in iterator. More...
 
virtual unsigned int getRow () const =0
 Returns the current row in iterator. More...
 
virtual bool operator!= (const AbstractPositionIterator &rhs) const
 Difference operator. More...
 
virtual std::complex< T > operator() (const unsigned int i) const =0
 Returns the complex value in current position (column, row, band) from iterator. More...
 
virtual const std::vector< T > operator* () const =0
 Returns a vector of the values in current position (column, row) from iterator. More...
 
virtual void operator++ ()=0
 Advances to the next position. More...
 
virtual void operator-- ()=0
 Returns to the previous position. More...
 
AbstractPositionIteratoroperator= (const AbstractPositionIterator &rhs)
 Assignment operator. More...
 
virtual T operator[] (const unsigned int i) const =0
 Returns the real value in current position (column, row, band) from iterator. More...
 
virtual void setEnd ()=0
 Sets the iterator position to the end of the current band. More...
 
 ~AbstractPositionIterator ()
 Destructor. More...
 

Protected Attributes

const te::rst::Rasterm_raster
 The band from where to get the values. More...
 

Detailed Description

template<class T>
class te::rst::AbstractPositionIterator< T >

This class is the base for implementing ways to navigate over the band with spatial restriction, e.g. through a line, inside a bounding box or polygon, etc.

Definition at line 57 of file PositionIterator.h.

Constructor & Destructor Documentation

Constructor.

Definition at line 379 of file PositionIterator.h.

Constructor.

Parameters
bThe band to iterate.

Definition at line 384 of file PositionIterator.h.

Copy constructor.

Parameters
rhsThe right-hand-side copy used to copy from.

Definition at line 389 of file PositionIterator.h.

Destructor.

Definition at line 394 of file PositionIterator.h.

Member Function Documentation

template<class T>
virtual unsigned int te::rst::AbstractPositionIterator< T >::getColumn ( ) const
pure virtual

Returns the current column in iterator.

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T>
virtual unsigned int te::rst::AbstractPositionIterator< T >::getRow ( ) const
pure virtual

Returns the current row in iterator.

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T >
bool te::rst::AbstractPositionIterator< T >::operator!= ( const AbstractPositionIterator< T > &  rhs) const
virtual

Difference operator.

Parameters
rhsThe right-hand side to compare.
Returns
Returns true if the iterators are at different positions, or false otherwise.

Definition at line 406 of file PositionIterator.h.

References te::rst::AbstractPositionIterator< T >::m_raster.

template<class T>
virtual std::complex< T > te::rst::AbstractPositionIterator< T >::operator() ( const unsigned int  i) const
pure virtual

Returns the complex value in current position (column, row, band) from iterator.

Parameters
iThe band index.
Returns
The pixel comples value in current position.
Note
For real values use operator[]

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T>
virtual const std::vector<T> te::rst::AbstractPositionIterator< T >::operator* ( ) const
pure virtual

Returns a vector of the values in current position (column, row) from iterator.

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T>
virtual void te::rst::AbstractPositionIterator< T >::operator++ ( )
pure virtual

Advances to the next position.

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T>
virtual void te::rst::AbstractPositionIterator< T >::operator-- ( )
pure virtual

Returns to the previous position.

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T >
te::rst::AbstractPositionIterator< T > & te::rst::AbstractPositionIterator< T >::operator= ( const AbstractPositionIterator< T > &  rhs)

Assignment operator.

Parameters
rhsThe right-hand-side copy used to copy from.
Returns
A reference to this object.

Definition at line 398 of file PositionIterator.h.

References te::rst::AbstractPositionIterator< T >::m_raster.

Referenced by te::rst::PolygonIterator< T >::operator=(), te::rst::LineIterator< T >::operator=(), and te::rst::PointSetIterator< T >::operator=().

template<class T>
virtual T te::rst::AbstractPositionIterator< T >::operator[] ( const unsigned int  i) const
pure virtual

Returns the real value in current position (column, row, band) from iterator.

Parameters
iThe band index.
Returns
The pixel real value in current position.
Note
For complex values use operator()

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

template<class T>
virtual void te::rst::AbstractPositionIterator< T >::setEnd ( )
pure virtual

Sets the iterator position to the end of the current band.

Parameters
bThe band to retrieve the end information.

Implemented in te::rst::PointSetIterator< T >, te::rst::LineIterator< T >, and te::rst::PolygonIterator< T >.

Member Data Documentation


The documentation for this class was generated from the following file: