OpenVDB  4.0.1
Classes | Public Member Functions | List of all members
IndexIter< IteratorT, FilterT > Class Template Reference

A forward iterator over array indices with filtering IteratorT can be either IndexIter or ValueIndexIter (or some custom index iterator) FilterT should be a struct or class with a valid() method than can be evaluated per index Here's a simple filter example that only accepts even indices: More...

#include <IndexIterator.h>

Classes

class  ValueIndexIter
 A forward iterator over array indices from a value iterator (such as ValueOnCIter) More...
 

Public Member Functions

 IndexIter (const IteratorT &iterator, const FilterT &filter)
 
 IndexIter (const IndexIter &other)
 
IndexIteroperator= (const IndexIter &other)
 
Index32 end () const
 
void reset (Index32 begin, Index32 end)
 Reset the begining and end of the iterator. More...
 
Index32 operator* ()
 Returns the item to which this iterator is currently pointing. More...
 
Index32 operator* () const
 
 operator bool () const
 Return true if this iterator is not yet exhausted. More...
 
bool test () const
 
IndexIteroperator++ ()
 Advance to the next (valid) item (prefix). More...
 
IndexIter operator++ (int)
 Advance to the next (valid) item (postfix). More...
 
bool next ()
 Advance to the next (valid) item. More...
 
bool increment ()
 
const FilterT & filter () const
 Return the const filter. More...
 
Coord getCoord () const
 Return the coordinates of the item to which the value iterator is pointing. More...
 
void getCoord (Coord &xyz) const
 Return in xyz the coordinates of the item to which the value iterator is pointing. More...
 
bool operator== (const IndexIter &other) const
 Equality operators. More...
 
bool operator!= (const IndexIter &other) const
 

Detailed Description

template<typename IteratorT, typename FilterT>
class openvdb::v4_0_1::points::IndexIter< IteratorT, FilterT >

A forward iterator over array indices with filtering IteratorT can be either IndexIter or ValueIndexIter (or some custom index iterator) FilterT should be a struct or class with a valid() method than can be evaluated per index Here's a simple filter example that only accepts even indices:

struct EvenIndexFilter { bool valid(const Index32 offset) const { return (offset % 2) == 0; } };

Constructor & Destructor Documentation

IndexIter ( const IteratorT &  iterator,
const FilterT &  filter 
)
inline
IndexIter ( const IndexIter< IteratorT, FilterT > &  other)
inline

Member Function Documentation

Index32 end ( ) const
inline
const FilterT& filter ( ) const
inline

Return the const filter.

Coord getCoord ( ) const
inline

Return the coordinates of the item to which the value iterator is pointing.

void getCoord ( Coord &  xyz) const
inline

Return in xyz the coordinates of the item to which the value iterator is pointing.

bool increment ( )
inline
bool next ( )
inline

Advance to the next (valid) item.

operator bool ( ) const
inline

Return true if this iterator is not yet exhausted.

bool operator!= ( const IndexIter< IteratorT, FilterT > &  other) const
inline
Index32 operator* ( )
inline

Returns the item to which this iterator is currently pointing.

Index32 operator* ( ) const
inline
IndexIter& operator++ ( )
inline

Advance to the next (valid) item (prefix).

IndexIter operator++ ( int  )
inline

Advance to the next (valid) item (postfix).

IndexIter& operator= ( const IndexIter< IteratorT, FilterT > &  other)
inline
bool operator== ( const IndexIter< IteratorT, FilterT > &  other) const
inline

Equality operators.

void reset ( Index32  begin,
Index32  end 
)
inline

Reset the begining and end of the iterator.

bool test ( ) const
inline

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