OpenVDB  5.0.0
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::v5_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() [1/2]

IndexIter ( const IteratorT &  iterator,
const FilterT &  filter 
)
inline

◆ IndexIter() [2/2]

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

Member Function Documentation

◆ end()

Index32 end ( ) const
inline

◆ filter()

const FilterT& filter ( ) const
inline

Return the const filter.

◆ getCoord() [1/2]

Coord getCoord ( ) const
inline

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

◆ getCoord() [2/2]

void getCoord ( Coord xyz) const
inline

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

◆ increment()

bool increment ( )
inline

◆ next()

bool next ( )
inline

Advance to the next (valid) item.

◆ operator bool()

operator bool ( ) const
inline

Return true if this iterator is not yet exhausted.

◆ operator!=()

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

◆ operator*() [1/2]

Index32 operator* ( )
inline

Returns the item to which this iterator is currently pointing.

◆ operator*() [2/2]

Index32 operator* ( ) const
inline

◆ operator++() [1/2]

IndexIter& operator++ ( )
inline

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

◆ operator++() [2/2]

IndexIter operator++ ( int  )
inline

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

◆ operator=()

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

◆ operator==()

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

Equality operators.

◆ reset()

void reset ( Index32  begin,
Index32  end 
)
inline

Reset the begining and end of the iterator.

◆ test()

bool test ( ) const
inline

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