Base class for iterators over internal and leaf nodes.
More...
#include <openvdb/tree/Iterator.h>
|
| IteratorBase () |
|
| IteratorBase (const MaskIterT &iter, NodeT *parent) |
|
| IteratorBase (const IteratorBase &)=default |
|
IteratorBase & | operator= (const IteratorBase &)=default |
|
bool | operator== (const IteratorBase &other) const |
|
bool | operator!= (const IteratorBase &other) const |
|
NodeT * | getParentNode () const |
| Return a pointer to the node (if any) over which this iterator is iterating.
|
|
NodeT & | parent () const |
| Return a reference to the node over which this iterator is iterating.
|
|
Index | offset () const |
| Return this iterator's position as an index into the parent node's table.
|
|
Index | pos () const |
| Identical to offset.
|
|
bool | test () const |
| Return true if this iterator is not yet exhausted.
|
|
| operator bool () const |
| Return true if this iterator is not yet exhausted.
|
|
bool | next () |
| Advance to the next item in the parent node's table.
|
|
void | increment () |
| Advance to the next item in the parent node's table.
|
|
IteratorBase & | operator++ () |
| Advance to the next item in the parent node's table.
|
|
void | increment (Index n) |
| Advance n items in the parent node's table.
|
|
bool | isValueOn () const |
| Return true if this iterator is pointing to an active value. Return false if it is pointing to either an inactive value or a child node.
|
|
void | setValueOn (bool on=true) const |
| If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.
|
|
void | setValueOff () const |
| If this iterator is pointing to a value, mark the value as inactive.
|
|
Coord | getCoord () const |
| Return the coordinates of the item to which this iterator is pointing.
|
|
void | getCoord (Coord &xyz) const |
| Return in xyz the coordinates of the item to which this iterator is pointing.
|
|
template<typename MaskIterT, typename NodeT>
class openvdb::v11_0::tree::IteratorBase< MaskIterT, NodeT >
Base class for iterators over internal and leaf nodes.
This class is typically not instantiated directly, since it doesn't provide methods to dereference the iterator. Those methods (::tree::SparseIteratorBase::operator*() operator*(), ::tree::SparseIteratorBase::setValue() setValue(), etc.) are implemented in the ::tree::SparseIteratorBase sparse and ::tree::DenseIteratorBase dense iterator subclasses.
◆ IteratorBase() [1/3]
template<typename MaskIterT , typename NodeT >
◆ IteratorBase() [2/3]
template<typename MaskIterT , typename NodeT >
◆ IteratorBase() [3/3]
template<typename MaskIterT , typename NodeT >
◆ getCoord() [1/2]
template<typename MaskIterT , typename NodeT >
Return the coordinates of the item to which this iterator is pointing.
◆ getCoord() [2/2]
template<typename MaskIterT , typename NodeT >
void getCoord |
( |
Coord & | xyz | ) |
const |
|
inline |
Return in xyz the coordinates of the item to which this iterator is pointing.
◆ getParentNode()
template<typename MaskIterT , typename NodeT >
NodeT * getParentNode |
( |
| ) |
const |
|
inline |
Return a pointer to the node (if any) over which this iterator is iterating.
◆ increment() [1/2]
template<typename MaskIterT , typename NodeT >
Advance to the next item in the parent node's table.
◆ increment() [2/2]
template<typename MaskIterT , typename NodeT >
void increment |
( |
Index | n | ) |
|
|
inline |
Advance n items in the parent node's table.
◆ isValueOn()
template<typename MaskIterT , typename NodeT >
Return true
if this iterator is pointing to an active value. Return false
if it is pointing to either an inactive value or a child node.
◆ next()
template<typename MaskIterT , typename NodeT >
Advance to the next item in the parent node's table.
◆ offset()
template<typename MaskIterT , typename NodeT >
Return this iterator's position as an index into the parent node's table.
◆ operator bool()
template<typename MaskIterT , typename NodeT >
Return true
if this iterator is not yet exhausted.
◆ operator!=()
template<typename MaskIterT , typename NodeT >
bool operator!= |
( |
const IteratorBase< MaskIterT, NodeT > & | other | ) |
const |
|
inline |
◆ operator++()
template<typename MaskIterT , typename NodeT >
Advance to the next item in the parent node's table.
◆ operator=()
template<typename MaskIterT , typename NodeT >
◆ operator==()
template<typename MaskIterT , typename NodeT >
bool operator== |
( |
const IteratorBase< MaskIterT, NodeT > & | other | ) |
const |
|
inline |
◆ parent()
template<typename MaskIterT , typename NodeT >
Return a reference to the node over which this iterator is iterating.
- Exceptions
-
◆ pos()
template<typename MaskIterT , typename NodeT >
◆ setValueOff()
template<typename MaskIterT , typename NodeT >
void setValueOff |
( |
| ) |
const |
|
inline |
If this iterator is pointing to a value, mark the value as inactive.
If this iterator is pointing to a child node, then the current item in the parent node's table is required to be inactive. In that case, this method has no effect.
◆ setValueOn()
template<typename MaskIterT , typename NodeT >
void setValueOn |
( |
bool | on = true | ) |
const |
|
inline |
If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.
◆ test()
template<typename MaskIterT , typename NodeT >
Return true
if this iterator is not yet exhausted.