Field3D
DenseField::const_iterator Class Reference

#include <DenseField.h>

List of all members.

Public Types

typedef DenseField< Data_T > class_type

Public Member Functions

 const_iterator (const class_type &field, const Box3i &window, const V3i &currentPos)
template<class Iter_T >
bool operator!= (const Iter_T &rhs) const
const Data_T & operator* () const
const const_iteratoroperator++ ()
const 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

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

Member Typedef Documentation

Definition at line 254 of file DenseField.h.


Constructor & Destructor Documentation

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

Definition at line 258 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 const_iterator& DenseField::const_iterator::operator++ ( ) [inline]

Definition at line 266 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::const_iterator::operator== ( const Iter_T &  rhs) const [inline]

Definition at line 282 of file DenseField.h.

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

Definition at line 288 of file DenseField.h.

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

Definition at line 293 of file DenseField.h.

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

Definition at line 298 of file DenseField.h.

  {
    return m_p;
  }

Member Data Documentation

Current position.

Definition at line 306 of file DenseField.h.

Definition at line 306 of file DenseField.h.

Definition at line 306 of file DenseField.h.

const Data_T* DenseField::const_iterator::m_p [private]

Pointer to current element.

Definition at line 313 of file DenseField.h.

Window to traverse.

Definition at line 315 of file DenseField.h.

Reference to field being iterated over.

Definition at line 317 of file DenseField.h.


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