Field3D
DenseField::iterator Class Reference

#include <DenseField.h>

List of all members.

Public Types

typedef DenseField< Data_T > class_type

Public Member Functions

 iterator (class_type &field, const Box3i &window, const V3i &currentPos)
template<class Iter_T >
bool operator!= (const Iter_T &rhs) const
Data_T & operator* () const
const iteratoroperator++ ()
Data_T * operator-> () const
template<class Iter_T >
bool operator== (const Iter_T &rhs) const

Public Attributes

int x
 Current position.
int y
int z

Private Attributes

class_typem_field
 Reference to field being iterated over.
Data_T * m_p
 Pointer to current element.
Box3i m_window
 Window to traverse.

Member Typedef Documentation

Definition at line 332 of file DenseField.h.


Constructor & Destructor Documentation

DenseField::iterator::iterator ( class_type field,
const Box3i window,
const V3i currentPos 
) [inline]

Definition at line 336 of file DenseField.h.

    : x(currentPos.x), y(currentPos.y), z(currentPos.z), 
      m_window(window), m_field(field)
  { m_p = m_field.ptr(x, y, z); }

Member Function Documentation

const iterator& DenseField::iterator::operator++ ( ) [inline]

Definition at line 344 of file DenseField.h.

  {
    if (x == m_window.max.x) {
      if (y == m_window.max.y) {
        m_p = m_field.ptr(x = m_window.min.x, y = m_window.min.y, ++z);
      } else {
        m_p = m_field.ptr(x = m_window.min.x, ++y, z);
      }
    } else {
      ++x;
      ++m_p;
    }
    return *this;
  }
template<class Iter_T >
bool DenseField::iterator::operator== ( const Iter_T &  rhs) const [inline]

Definition at line 360 of file DenseField.h.

  {
    return m_p == &(*rhs);
  }
template<class Iter_T >
bool DenseField::iterator::operator!= ( const Iter_T &  rhs) const [inline]

Definition at line 366 of file DenseField.h.

  {
    return m_p != &(*rhs);
  }
Data_T& DenseField::iterator::operator* ( ) const [inline]

Definition at line 371 of file DenseField.h.

  {
    return *m_p;
  }
Data_T* DenseField::iterator::operator-> ( ) const [inline]

Definition at line 376 of file DenseField.h.

  {
    return m_p;
  }

Member Data Documentation

Current position.

Definition at line 384 of file DenseField.h.

Definition at line 384 of file DenseField.h.

Definition at line 384 of file DenseField.h.

Data_T* DenseField::iterator::m_p [private]

Pointer to current element.

Definition at line 391 of file DenseField.h.

Window to traverse.

Definition at line 393 of file DenseField.h.

Reference to field being iterated over.

Definition at line 395 of file DenseField.h.


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