OpenVDB
12.0.0
|
Base class for dense iterators over internal and leaf nodes. More...
#include <openvdb/tree/Iterator.h>
Inherits IteratorBase< MaskIterT, NodeT >.
Public Types | |
using | NodeType = NodeT |
using | ValueType = UnsetItemT |
using | ChildNodeType = SetItemT |
using | NonConstNodeType = typename std::remove_const< NodeT >::type |
using | NonConstValueType = typename std::remove_const< UnsetItemT >::type |
using | NonConstChildNodeType = typename std::remove_const< SetItemT >::type |
Public Member Functions | |
DenseIteratorBase () | |
DenseIteratorBase (const MaskIterT &iter, NodeT *parent) | |
bool | getItem (Index, SetItemT *&child, NonConstValueType &value) const |
Return true if the item at the given index in the parent node's table is a set value and return either the set value in child or the unset value in value. More... | |
void | setItem (Index, SetItemT *) const |
Set the value of the item at the given index in the parent node's table. More... | |
void | unsetItem (Index, const UnsetItemT &) const |
"Unset" the value of the item at the given index in the parent node's table. More... | |
bool | isChildNode () const |
Return true if this iterator is pointing to a child node. More... | |
SetItemT * | probeChild (NonConstValueType &value) const |
If this iterator is pointing to a child node, return a pointer to the node. Otherwise, return nullptr and, in value, the value to which this iterator is pointing. More... | |
bool | probeChild (SetItemT *&child, NonConstValueType &value) const |
If this iterator is pointing to a child node, return true and return a pointer to the child node in child. Otherwise, return false and return the value to which this iterator is pointing in value. More... | |
bool | probeValue (NonConstValueType &value) const |
Return true if this iterator is pointing to a value and return the value in value. Otherwise, return false . More... | |
void | setChild (SetItemT *child) const |
Replace with the given child node the item in the parent node's table to which this iterator is pointing. More... | |
void | setValue (const UnsetItemT &value) const |
Replace with the given value the item in the parent node's table to which this iterator is pointing. More... | |
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... | |
void | increment (Index n) |
Advance n items in the parent node's table. More... | |
IteratorBase & | operator++ () |
Advance to the next item 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 = false |
static const bool | IsDenseIterator = true |
Base class for dense iterators over internal and leaf nodes.
operator*
() or operator->
(), because their return type would have to vary depending on whether the iterator is pointing to a value or a child node. using ChildNodeType = SetItemT |
using NodeType = NodeT |
using NonConstChildNodeType = typename std::remove_const<SetItemT>::type |
using NonConstNodeType = typename std::remove_const<NodeT>::type |
using NonConstValueType = typename std::remove_const<UnsetItemT>::type |
using ValueType = UnsetItemT |
|
inline |
|
inline |
|
inlineinherited |
Return the coordinates of the item to which this iterator is pointing.
|
inlineinherited |
Return in xyz the coordinates of the item to which this iterator is pointing.
bool getItem | ( | Index | , |
SetItemT *& | child, | ||
NonConstValueType & | value | ||
) | const |
Return true
if the item at the given index in the parent node's table is a set value and return either the set value in child or the unset value in value.
|
inlineinherited |
Return a pointer to the node (if any) over which this iterator is iterating.
|
inlineinherited |
Advance to the next item in the parent node's table.
|
inlineinherited |
Advance n items in the parent node's table.
|
inline |
Return true
if this iterator is pointing to a child node.
|
inlineinherited |
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.
|
inlineinherited |
Advance to the next item in the parent node's table.
|
inlineinherited |
Return this iterator's position as an index into the parent node's table.
|
inlineinherited |
Return true
if this iterator is not yet exhausted.
|
inlineinherited |
|
inlineinherited |
Advance to the next item in the parent node's table.
|
inlineinherited |
|
inlineinherited |
Return a reference to the node over which this iterator is iterating.
ValueError | if there is no parent node. |
|
inlineinherited |
Identical to offset.
|
inline |
If this iterator is pointing to a child node, return a pointer to the node. Otherwise, return nullptr and, in value, the value to which this iterator is pointing.
|
inline |
If this iterator is pointing to a child node, return true
and return a pointer to the child node in child. Otherwise, return false
and return the value to which this iterator is pointing in value.
|
inline |
Return true
if this iterator is pointing to a value and return the value in value. Otherwise, return false
.
|
inline |
Replace with the given child node the item in the parent node's table to which this iterator is pointing.
void setItem | ( | Index | , |
SetItemT * | |||
) | const |
Set the value of the item at the given index in the parent node's table.
|
inline |
Replace with the given value the item in the parent node's table to which this iterator is pointing.
|
inlineinherited |
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.
|
inlineinherited |
If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.
|
inlineinherited |
Return true
if this iterator is not yet exhausted.
void unsetItem | ( | Index | , |
const UnsetItemT & | |||
) | const |
"Unset" the value of the item at the given index in the parent node's table.
|
static |
|
static |