OpenVDB 12.1.0

Loading...
Searching...
No Matches
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)
IndexIter & | operator= (const IndexIter &other)
Index32 | end () const
void | reset (Index32 begin, Index32 end)
| Reset the begining and end of the iterator.
Index32 | operator* ()
| Returns the item to which this iterator is currently pointing.
Index32 | operator* () const
| operator bool () const
| Return `true` if this iterator is not yet exhausted.
bool | test () const
IndexIter & | operator++ ()
| Advance to the next (valid) item (prefix).
IndexIter | operator++ (int)
| Advance to the next (valid) item (postfix).
bool | next ()
| Advance to the next (valid) item.
bool | increment ()
const FilterT & | filter () const
| Return the const filter.
Coord | getCoord () const
| Return the coordinates of the item to which the value iterator is pointing.
void | getCoord (Coord &xyz) const
| Return in xyz the coordinates of the item to which the value iterator is pointing.
bool | isValueOn () const
| Return `true` if the value iterator is pointing to an active value.
bool | operator== (const IndexIter &other) const
| Equality operators.
bool | operator!= (const IndexIter &other) const

## Detailed Description

template<typename IteratorT, typename FilterT>
class openvdb::v12_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() [1/2]

template<typename IteratorT, typename FilterT>

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

## ◆ IndexIter() [2/2]

template<typename IteratorT, typename FilterT>

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

## Member Function Documentation

## ◆ end()

template<typename IteratorT, typename FilterT>

Index32 end | ( |  | ) | const
| inline

## ◆ filter()

template<typename IteratorT, typename FilterT>

const FilterT & filter | ( |  | ) | const
| inline

Return the const filter.

## ◆ getCoord() [1/2]

template<typename IteratorT, typename FilterT>

Coord getCoord | ( |  | ) | const
| inline

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

## ◆ getCoord() [2/2]

template<typename IteratorT, typename FilterT>

void getCoord | ( | Coord & | xyz | ) | const
| inline

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

## ◆ increment()

template<typename IteratorT, typename FilterT>

bool increment | ( |  | ) |
| inline

## ◆ isValueOn()

template<typename IteratorT, typename FilterT>

bool isValueOn | ( |  | ) | const
| inline

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

## ◆ next()

template<typename IteratorT, typename FilterT>

bool next | ( |  | ) |
| inline

Advance to the next (valid) item.

## ◆ operator bool()

template<typename IteratorT, typename FilterT>

operator bool | ( |  | ) | const
| inline

Return `true` if this iterator is not yet exhausted.

## ◆ operator!=()

template<typename IteratorT, typename FilterT>

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

## ◆ operator*() [1/2]

template<typename IteratorT, typename FilterT>

Index32 operator* | ( |  | ) |
| inline

Returns the item to which this iterator is currently pointing.

## ◆ operator*() [2/2]

template<typename IteratorT, typename FilterT>

Index32 operator* | ( |  | ) | const
| inline

## ◆ operator++() [1/2]

template<typename IteratorT, typename FilterT>

IndexIter & operator++ | ( |  | ) |
| inline

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

## ◆ operator++() [2/2]

template<typename IteratorT, typename FilterT>

IndexIter operator++ | ( | int |  | ) |
| inline

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

## ◆ operator=()

template<typename IteratorT, typename FilterT>

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

## ◆ operator==()

template<typename IteratorT, typename FilterT>

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

Equality operators.

## ◆ reset()

template<typename IteratorT, typename FilterT>

void reset | ( | Index32 | begin,
|  | Index32 | end )
| inline

Reset the begining and end of the iterator.

## ◆ test()

template<typename IteratorT, typename FilterT>

bool test | ( |  | ) | const
| inline