This class implements an iterator to "navigate" over a single band. More...
#include <BandIterator.h>
  
 Public Member Functions | |
| BandIterator () | |
| Constructor.  More... | |
| BandIterator (Band *b) | |
| Constructor.  More... | |
| BandIterator (const BandIterator &rhs) | |
| Copy constructor.  More... | |
| unsigned int | getColumn () const | 
| Returns the current column in iterator.  More... | |
| unsigned int | getRow () const | 
| Returns the current row in iterator.  More... | |
| bool | operator!= (const AbstractBandIterator &rhs) const | 
| Difference operator.  More... | |
| T | operator* () | 
| Returns the value in current position (column, row) from iterator.  More... | |
| const T | operator* () const | 
| Returns the value in current position (column, row) from iterator.  More... | |
| virtual void | operator++ () | 
| Advances to the next position.  More... | |
| void | operator-- () | 
| Returns to the previous position.  More... | |
| BandIterator & | operator= (const BandIterator &rhs) | 
| Assignment operator.  More... | |
| void | replaceBlock () | 
| Replaces the current bufferized block values.  More... | |
Static Public Member Functions | |
| static BandIterator | begin (Band *b) | 
| Returns an iterator referring to the first value of the band.  More... | |
| static BandIterator | end (Band *b) | 
| Returns an iterator referring to after the end of the iterator.  More... | |
Protected Member Functions | |
| void | reset () | 
| Reset this instance to a initial state.  More... | |
Protected Attributes | |
| Band * | m_band | 
| The band from where to get the values.  More... | |
| T * | m_blk | 
| Internal block.  More... | |
| int | m_blkh | 
| The internal block height.  More... | |
| int | m_blksize | 
| The block size of the band.  More... | |
| int | m_blkw | 
| The internal block width.  More... | |
| int | m_blkx | 
| The position in X of the current block.  More... | |
| int | m_blky | 
| The position in Y of the current block.  More... | |
| te::rst::GetBufferValueFPtr | m_getBuff | 
| A pointer to a function that helps to extract a double or complex value from a specific buffer data type (char, int16, int32, float, ...).  More... | |
| te::rst::GetBufferValueFPtr | m_getBuffI | 
| A pointer to a function that helps to extract the imaginary part value from a specific buffer data type (cint16, cint32, cfloat, cdouble).  More... | |
| int | m_i | 
| The actual position inside the block.  More... | |
| int | m_lastblksize | 
| The number of pixels inside the last block.  More... | |
| int | m_nblocksx | 
| The number of blocks in X direction.  More... | |
| int | m_nblocksy | 
| The number of blocks in Y direction.  More... | |
| int | m_npxlsblk | 
| The maximum number of pixels inside the block.  More... | |
| te::rst::SetBufferValueFPtr | m_setBuff | 
| A pointer to a function that helps to insert a double or complex value into a specific buffer data type (char, int16, int32, float, ...).  More... | |
| te::rst::SetBufferValueFPtr | m_setBuffI | 
| A pointer to a function that helps to insert the imaginary part value into a specific buffer data type (cint16, cint32, cfloat, cdouble).  More... | |
This class implements an iterator to "navigate" over a single band.
We provide an efficient method to obtain all values in a raster, without regard to their locations. The implementation navigates through the blocks of the image.
Definition at line 153 of file BandIterator.h.
| te::rst::BandIterator< T >::BandIterator | ( | ) | 
Constructor.
Definition at line 509 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::reset().
| te::rst::BandIterator< T >::BandIterator | ( | Band * | b | ) | 
Constructor.
| b | The band to iterate. | 
Definition at line 514 of file BandIterator.h.
References te::rst::BandIterator< T >::m_band, te::rst::BandIterator< T >::replaceBlock(), and te::rst::BandIterator< T >::reset().
| te::rst::BandIterator< T >::BandIterator | ( | const BandIterator< T > & | rhs | ) | 
Copy constructor.
| rhs | The right-hand-side copy used to copy from. | 
Definition at line 527 of file BandIterator.h.
References te::rst::BandIterator< T >::operator=(), and te::rst::BandIterator< T >::reset().
      
  | 
  static | 
Returns an iterator referring to the first value of the band.
Definition at line 563 of file BandIterator.h.
Referenced by te::rst::BandIteratorWithMask< T >::BandIteratorWithMask().
      
  | 
  static | 
Returns an iterator referring to after the end of the iterator.
Definition at line 568 of file BandIterator.h.
References te::rst::Band::getProperty(), te::rst::AbstractBandIterator< T >::m_blky, and te::rst::BandProperty::m_nblocksy.
Referenced by te::rst::BandIteratorWithMask< T >::BandIteratorWithMask().
      
  | 
  inherited | 
Returns the current column in iterator.
Definition at line 383 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blkw, te::rst::AbstractBandIterator< T >::m_blkx, and te::rst::AbstractBandIterator< T >::m_i.
      
  | 
  inherited | 
Returns the current row in iterator.
Definition at line 378 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blkh, te::rst::AbstractBandIterator< T >::m_blkw, te::rst::AbstractBandIterator< T >::m_blky, and te::rst::AbstractBandIterator< T >::m_i.
      
  | 
  inherited | 
Difference operator.
| rhs | The right-hand side to compare. | 
Definition at line 483 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blky.
| T te::rst::BandIterator< T >::operator* | ( | ) | 
Returns the value in current position (column, row) from iterator.
Definition at line 534 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blk, te::rst::AbstractBandIterator< T >::m_getBuff, and te::rst::AbstractBandIterator< T >::m_i.
      
  | 
  virtual | 
Returns the value in current position (column, row) from iterator.
Implements te::rst::AbstractBandIterator< T >.
Definition at line 543 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blk, te::rst::AbstractBandIterator< T >::m_getBuff, and te::rst::AbstractBandIterator< T >::m_i.
      
  | 
  virtualinherited | 
Advances to the next position.
Reimplemented in te::rst::BandIteratorWithMask< T >.
Definition at line 388 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blkx, te::rst::AbstractBandIterator< T >::m_blky, te::rst::AbstractBandIterator< T >::m_i, te::rst::AbstractBandIterator< T >::m_lastblksize, te::rst::AbstractBandIterator< T >::m_nblocksx, te::rst::AbstractBandIterator< T >::m_nblocksy, te::rst::AbstractBandIterator< T >::m_npxlsblk, and te::rst::AbstractBandIterator< T >::replaceBlock().
Referenced by te::rst::BandIteratorWithMask< T >::operator++().
      
  | 
  inherited | 
Returns to the previous position.
Definition at line 417 of file BandIterator.h.
References te::rst::AbstractBandIterator< T >::m_blkx, te::rst::AbstractBandIterator< T >::m_blky, te::rst::AbstractBandIterator< T >::m_i, te::rst::AbstractBandIterator< T >::m_nblocksx, te::rst::AbstractBandIterator< T >::m_nblocksy, te::rst::AbstractBandIterator< T >::m_npxlsblk, and te::rst::AbstractBandIterator< T >::replaceBlock().
Referenced by te::rst::BandIteratorWithMask< T >::operator--().
| te::rst::BandIterator< T > & te::rst::BandIterator< T >::operator= | ( | const BandIterator< T > & | rhs | ) | 
Assignment operator.
| rhs | The right-hand-side copy used to copy from. | 
Definition at line 552 of file BandIterator.h.
References te::rst::BandIterator< T >::m_band, te::rst::AbstractBandIterator< T >::operator=(), and te::rst::BandIterator< T >::reset().
Referenced by te::rst::BandIterator< T >::BandIterator(), and te::rst::BandIteratorWithMask< T >::operator=().
      
  | 
  virtual | 
Replaces the current bufferized block values.
Implements te::rst::AbstractBandIterator< T >.
Definition at line 577 of file BandIterator.h.
References te::rst::BandIterator< T >::m_band, te::rst::AbstractBandIterator< T >::m_blk, te::rst::AbstractBandIterator< T >::m_blkx, te::rst::AbstractBandIterator< T >::m_blky, and te::rst::Band::read().
Referenced by te::rst::BandIterator< T >::BandIterator().
      
  | 
  protected | 
Reset this instance to a initial state.
Definition at line 583 of file BandIterator.h.
References te::rst::BandIterator< T >::m_band.
Referenced by te::rst::BandIterator< T >::BandIterator(), and te::rst::BandIterator< T >::operator=().
      
  | 
  protected | 
The band from where to get the values.
Definition at line 200 of file BandIterator.h.
Referenced by te::rst::BandIterator< T >::BandIterator(), te::rst::BandIterator< T >::operator=(), te::rst::BandIterator< T >::replaceBlock(), and te::rst::BandIterator< T >::reset().
      
  | 
  protectedinherited | 
Internal block.
Definition at line 130 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::BandIterator< T >::operator*(), te::rst::ConstBandIterator< T >::operator*(), te::rst::AbstractBandIterator< T >::operator=(), te::rst::BandIterator< T >::replaceBlock(), te::rst::ConstBandIterator< T >::replaceBlock(), te::rst::AbstractBandIterator< T >::reset(), and te::rst::AbstractBandIterator< T >::~AbstractBandIterator().
      
  | 
  protectedinherited | 
The internal block height.
Definition at line 121 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::getRow(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The block size of the band.
Definition at line 129 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::ConstBandIterator< T >::ConstBandIterator(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The internal block width.
Definition at line 120 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::getColumn(), te::rst::AbstractBandIterator< T >::getRow(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The position in X of the current block.
Definition at line 126 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::getColumn(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator--(), te::rst::AbstractBandIterator< T >::operator=(), te::rst::BandIterator< T >::replaceBlock(), te::rst::ConstBandIterator< T >::replaceBlock(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The position in Y of the current block.
Definition at line 127 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::BandIterator< T >::end(), te::rst::ConstBandIterator< T >::end(), te::rst::BandIteratorWithMask< T >::end(), te::rst::AbstractBandIterator< T >::getRow(), te::rst::AbstractBandIterator< T >::operator!=(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator--(), te::rst::AbstractBandIterator< T >::operator=(), te::rst::BandIterator< T >::replaceBlock(), te::rst::ConstBandIterator< T >::replaceBlock(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
A pointer to a function that helps to extract a double or complex value from a specific buffer data type (char, int16, int32, float, ...).
Definition at line 131 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::BandIterator< T >::operator*(), te::rst::ConstBandIterator< T >::operator*(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
A pointer to a function that helps to extract the imaginary part value from a specific buffer data type (cint16, cint32, cfloat, cdouble).
Definition at line 132 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The actual position inside the block.
Definition at line 125 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::getColumn(), te::rst::AbstractBandIterator< T >::getRow(), te::rst::BandIterator< T >::operator*(), te::rst::ConstBandIterator< T >::operator*(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator--(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The number of pixels inside the last block.
Definition at line 128 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The number of blocks in X direction.
Definition at line 123 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator--(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The number of blocks in Y direction.
Definition at line 124 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator--(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
The maximum number of pixels inside the block.
Definition at line 122 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator++(), te::rst::AbstractBandIterator< T >::operator--(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
A pointer to a function that helps to insert a double or complex value into a specific buffer data type (char, int16, int32, float, ...).
Definition at line 133 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().
      
  | 
  protectedinherited | 
A pointer to a function that helps to insert the imaginary part value into a specific buffer data type (cint16, cint32, cfloat, cdouble).
Definition at line 134 of file BandIterator.h.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::AbstractBandIterator< T >::operator=(), and te::rst::AbstractBandIterator< T >::reset().