OpenVDB  9.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 <openvdb/points/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 isValueOn () const
 Return true if the value iterator is pointing to an active value. 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::v9_0::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 isValueOn ( ) const
inline

Return true if the value iterator is pointing to an active value.

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