HDK
|
Base class for sparse iterators over internal and leaf nodes. More...
#include <Iterator.h>
Public Types | |
using | NodeType = NodeT |
using | ValueType = ItemT |
using | NonConstNodeType = typename std::remove_const< NodeT >::type |
using | NonConstValueType = typename std::remove_const< ItemT >::type |
Public Member Functions | |
SparseIteratorBase () | |
SparseIteratorBase (const MaskIterT &iter, NodeT *parent) | |
ItemT & | getItem (Index) const |
Return the item at the given index in the parent node's table. More... | |
void | setItem (Index, const ItemT &) const |
Set the value of the item at the given index in the parent node's table. More... | |
ItemT & | operator* () const |
Return a reference to the item to which this iterator is pointing. More... | |
ItemT * | operator-> () const |
Return a pointer to the item to which this iterator is pointing. More... | |
ItemT & | getValue () const |
Return the item to which this iterator is pointing. More... | |
void | setValue (const ItemT &value) const |
Set the value of the item to which this iterator is pointing. (Not valid for const iterators.) More... | |
template<typename ModifyOp > | |
void | modifyValue (const ModifyOp &op) const |
Apply a functor to the item to which this iterator is pointing. (Not valid for const iterators.) More... | |
Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::IteratorBase< MaskIterT, NodeT > | |
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. More... | |
NodeT & | parent () const |
Return a reference to the node over which this iterator is iterating. More... | |
Index | offset () const |
Return this iterator's position as an index into the parent node's table. More... | |
Index | pos () const |
Identical to offset. More... | |
bool | test () const |
Return true if this iterator is not yet exhausted. More... | |
operator bool () const | |
Return true if this iterator is not yet exhausted. More... | |
bool | next () |
Advance to the next item in the parent node's table. More... | |
void | increment () |
Advance to the next item in the parent node's table. More... | |
IteratorBase & | operator++ () |
Advance to the next item in the parent node's table. More... | |
void | increment (Index n) |
Advance n items in the parent node's table. More... | |
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. More... | |
void | setValueOn (bool on=true) const |
If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing. More... | |
void | setValueOff () const |
If this iterator is pointing to a value, mark the value as inactive. More... | |
Coord | getCoord () const |
Return the coordinates of the item to which this iterator is pointing. More... | |
void | getCoord (Coord &xyz) const |
Return in xyz the coordinates of the item to which this iterator is pointing. More... | |
Static Public Attributes | |
static const bool | IsSparseIterator = true |
static const bool | IsDenseIterator = false |
Base class for sparse iterators over internal and leaf nodes.
Definition at line 114 of file Iterator.h.
using openvdb::OPENVDB_VERSION_NAME::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >::NodeType = NodeT |
Definition at line 116 of file Iterator.h.
using openvdb::OPENVDB_VERSION_NAME::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >::NonConstNodeType = typename std::remove_const<NodeT>::type |
Definition at line 118 of file Iterator.h.
using openvdb::OPENVDB_VERSION_NAME::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >::NonConstValueType = typename std::remove_const<ItemT>::type |
Definition at line 119 of file Iterator.h.
using openvdb::OPENVDB_VERSION_NAME::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >::ValueType = ItemT |
Definition at line 117 of file Iterator.h.
|
inline |
Definition at line 122 of file Iterator.h.
|
inline |
Definition at line 123 of file Iterator.h.
ItemT& openvdb::OPENVDB_VERSION_NAME::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >::getItem | ( | Index | ) | const |
Return the item at the given index in the parent node's table.
|
inline |
Return the item to which this iterator is pointing.
Definition at line 139 of file Iterator.h.
|
inline |
Apply a functor to the item to which this iterator is pointing. (Not valid for const iterators.)
op | a functor of the form void op(ValueType&) const that modifies its argument in place |
Definition at line 156 of file Iterator.h.
|
inline |
Return a reference to the item to which this iterator is pointing.
Definition at line 134 of file Iterator.h.
|
inline |
Return a pointer to the item to which this iterator is pointing.
Definition at line 136 of file Iterator.h.
void openvdb::OPENVDB_VERSION_NAME::tree::SparseIteratorBase< MaskIterT, IterT, NodeT, ItemT >::setItem | ( | Index | , |
const ItemT & | |||
) | const |
Set the value of the item at the given index in the parent node's table.
|
inline |
Set the value of the item to which this iterator is pointing. (Not valid for const iterators.)
Definition at line 145 of file Iterator.h.
|
static |
Definition at line 120 of file Iterator.h.
|
static |
Definition at line 120 of file Iterator.h.