OpenVDB 11.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
LeafNode< ValueMask, Log2Dim >::DenseIter< NodeT, ValueT > Struct Template Reference

#include <openvdb/tree/LeafNodeMask.h>

Inheritance diagram for LeafNode< ValueMask, Log2Dim >::DenseIter< NodeT, ValueT >:
DenseIteratorBase< MaskDenseIter, DenseIter< NodeT, ValueT >, NodeT, void, ValueT > IteratorBase< MaskIterT, NodeT >

Public Types

using BaseT = DenseIteratorBase<MaskDenseIter, DenseIter, NodeT, void, ValueT>
 
using NonConstValueT = typename BaseT::NonConstValueType
 
using NodeType
 
using ValueType
 
using ChildNodeType
 
using NonConstNodeType
 
using NonConstValueType
 
using NonConstChildNodeType
 

Public Member Functions

 DenseIter ()
 
 DenseIter (const MaskDenseIter &iter, NodeT *parent)
 
bool getItem (Index pos, void *&child, NonConstValueT &value) const
 
void unsetItem (Index pos, const ValueT &val) const
 
void setItem (Index, void *) const
 Set the value of the item at the given index in the parent node's table.
 
bool isChildNode () const
 Return true if this iterator is pointing to a child node.
 
void * 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.
 
bool probeChild (void *&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.
 
bool probeValue (NonConstValueType &value) const
 Return true if this iterator is pointing to a value and return the value in value. Otherwise, return false.
 
void setChild (void *child) const
 Replace with the given child node the item in the parent node's table to which this iterator is pointing.
 
void setValue (const ValueT &value) const
 Replace with the given value the item in the parent node's table to which this iterator is pointing.
 
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.
 
void increment (Index n)
 Advance n items in the parent node's table.
 
IteratorBaseoperator++ ()
 Advance to the next item 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.
 

Static Public Attributes

static const bool IsSparseIterator
 
static const bool IsDenseIterator
 

Member Typedef Documentation

◆ BaseT

template<Index Log2Dim>
template<typename NodeT , typename ValueT >
using BaseT = DenseIteratorBase<MaskDenseIter, DenseIter, NodeT, void, ValueT>

◆ ChildNodeType

using ChildNodeType
inherited

◆ NodeType

using NodeType
inherited

◆ NonConstChildNodeType

using NonConstChildNodeType
inherited

◆ NonConstNodeType

using NonConstNodeType
inherited

◆ NonConstValueT

template<Index Log2Dim>
template<typename NodeT , typename ValueT >
using NonConstValueT = typename BaseT::NonConstValueType

◆ NonConstValueType

using NonConstValueType
inherited

◆ ValueType

using ValueType
inherited

Constructor & Destructor Documentation

◆ DenseIter() [1/2]

template<Index Log2Dim>
template<typename NodeT , typename ValueT >
DenseIter ( )
inline

◆ DenseIter() [2/2]

template<Index Log2Dim>
template<typename NodeT , typename ValueT >
DenseIter ( const MaskDenseIter & iter,
NodeT * parent )
inline

Member Function Documentation

◆ getCoord() [1/2]

template<typename MaskIterT , typename NodeT >
Coord getCoord ( ) const
inlineinherited

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
inlineinherited

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

◆ getItem()

template<Index Log2Dim>
template<typename NodeT , typename ValueT >
bool getItem ( Index pos,
void *& child,
NonConstValueT & value ) const
inline

◆ getParentNode()

template<typename MaskIterT , typename NodeT >
NodeT * getParentNode ( ) const
inlineinherited

Return a pointer to the node (if any) over which this iterator is iterating.

◆ increment() [1/2]

template<typename MaskIterT , typename NodeT >
void increment ( )
inlineinherited

Advance to the next item in the parent node's table.

◆ increment() [2/2]

template<typename MaskIterT , typename NodeT >
void increment ( Index n)
inlineinherited

Advance n items in the parent node's table.

◆ isChildNode()

bool isChildNode ( ) const
inlineinherited

Return true if this iterator is pointing to a child node.

◆ isValueOn()

template<typename MaskIterT , typename NodeT >
bool isValueOn ( ) const
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.

◆ next()

template<typename MaskIterT , typename NodeT >
bool next ( )
inlineinherited

Advance to the next item in the parent node's table.

◆ offset()

template<typename MaskIterT , typename NodeT >
Index offset ( ) const
inlineinherited

Return this iterator's position as an index into the parent node's table.

◆ operator bool()

template<typename MaskIterT , typename NodeT >
operator bool ( ) const
inlineinherited

Return true if this iterator is not yet exhausted.

◆ operator!=()

template<typename MaskIterT , typename NodeT >
bool operator!= ( const IteratorBase< MaskIterT, NodeT > & other) const
inlineinherited

◆ operator++()

template<typename MaskIterT , typename NodeT >
IteratorBase & operator++ ( )
inlineinherited

Advance to the next item in the parent node's table.

◆ operator==()

template<typename MaskIterT , typename NodeT >
bool operator== ( const IteratorBase< MaskIterT, NodeT > & other) const
inlineinherited

◆ parent()

template<typename MaskIterT , typename NodeT >
NodeT & parent ( ) const
inlineinherited

Return a reference to the node over which this iterator is iterating.

Exceptions
ValueErrorif there is no parent node.

◆ pos()

template<typename MaskIterT , typename NodeT >
Index pos ( ) const
inlineinherited

Identical to offset.

◆ probeChild() [1/2]

void * probeChild ( NonConstValueType & value) const
inlineinherited

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.

◆ probeChild() [2/2]

bool probeChild ( void *& child,
NonConstValueType & value ) const
inlineinherited

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.

◆ probeValue()

bool probeValue ( NonConstValueType & value) const
inlineinherited

Return true if this iterator is pointing to a value and return the value in value. Otherwise, return false.

◆ setChild()

void setChild ( void * child) const
inlineinherited

Replace with the given child node the item in the parent node's table to which this iterator is pointing.

◆ setItem()

void setItem ( Index ,
void *  ) const
inherited

Set the value of the item at the given index in the parent node's table.

Note
All non-const iterator subclasses must implement this accessor.

◆ setValue()

void setValue ( const ValueT & value) const
inlineinherited

Replace with the given value the item in the parent node's table to which this iterator is pointing.

◆ setValueOff()

template<typename MaskIterT , typename NodeT >
void setValueOff ( ) const
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.

◆ setValueOn()

template<typename MaskIterT , typename NodeT >
void setValueOn ( bool on = true) const
inlineinherited

If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.

◆ test()

template<typename MaskIterT , typename NodeT >
bool test ( ) const
inlineinherited

Return true if this iterator is not yet exhausted.

◆ unsetItem()

template<Index Log2Dim>
template<typename NodeT , typename ValueT >
void unsetItem ( Index pos,
const ValueT & val ) const
inline

Member Data Documentation

◆ IsDenseIterator

const bool IsDenseIterator
staticinherited

◆ IsSparseIterator

const bool IsSparseIterator
staticinherited