HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT > Struct Template Reference

#include <InternalNode.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >:

Public Types

using BaseT = DenseIteratorBase< MaskDenseIterator, DenseIter, NodeT, ChildT, ValueT >
 
using NonConstValueT = typename BaseT::NonConstValueType
 
- Public Types inherited from openvdb::OPENVDB_VERSION_NAME::tree::DenseIteratorBase< MaskDenseIterator, DenseIter< NodeT, ChildT, ValueT, TagT >, NodeT, ChildT, ValueT >
using NodeType = NodeT
 
using ValueType = ValueT
 
using ChildNodeType = ChildT
 
using NonConstNodeType = typename std::remove_const< NodeT >::type
 
using NonConstValueType = typename std::remove_const< ValueT >::type
 
using NonConstChildNodeType = typename std::remove_const< ChildT >::type
 

Public Member Functions

 DenseIter ()
 
 DenseIter (const MaskDenseIterator &iter, NodeT *parent)
 
bool getItem (Index pos, ChildT *&child, NonConstValueT &value) const
 
void setItem (Index pos, ChildT *child) const
 
void unsetItem (Index pos, const ValueT &value) const
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::DenseIteratorBase< MaskDenseIterator, DenseIter< NodeT, ChildT, ValueT, TagT >, NodeT, ChildT, ValueT >
 DenseIteratorBase ()
 
 DenseIteratorBase (const MaskDenseIterator &iter, NodeT *parent)
 
bool getItem (Index, ChildT *&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, ChildT *) const
 Set the value of the item at the given index in the parent node's table. More...
 
void unsetItem (Index, const ValueT &) 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...
 
ChildT * 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 (ChildT *&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 (ChildT *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 ValueT &value) const
 Replace with the given value the item in the parent node's table to which this iterator is pointing. More...
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::IteratorBase< MaskDenseIterator, NodeT >
 IteratorBase ()
 
 IteratorBase (const MaskDenseIterator &iter, NodeT *parent)
 
 IteratorBase (const IteratorBase &)=default
 
IteratorBaseoperator= (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...
 
void increment (Index n)
 Advance n items in the parent node's table. More...
 
IteratorBaseoperator++ ()
 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...
 

Additional Inherited Members

- Static Public Attributes inherited from openvdb::OPENVDB_VERSION_NAME::tree::DenseIteratorBase< MaskDenseIterator, DenseIter< NodeT, ChildT, ValueT, TagT >, NodeT, ChildT, ValueT >
static const bool IsSparseIterator
 
static const bool IsDenseIterator
 

Detailed Description

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT, typename ChildT, typename ValueT, typename TagT>
struct openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >

Definition at line 170 of file InternalNode.h.

Member Typedef Documentation

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
using openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::BaseT = DenseIteratorBase<MaskDenseIterator, DenseIter, NodeT, ChildT, ValueT>

Definition at line 173 of file InternalNode.h.

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
using openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::NonConstValueT = typename BaseT::NonConstValueType

Definition at line 174 of file InternalNode.h.

Constructor & Destructor Documentation

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::DenseIter ( )
inline

Definition at line 176 of file InternalNode.h.

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::DenseIter ( const MaskDenseIterator iter,
NodeT *  parent 
)
inline

Definition at line 177 of file InternalNode.h.

Member Function Documentation

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
bool openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::getItem ( Index  pos,
ChildT *&  child,
NonConstValueT value 
) const
inline

Definition at line 180 of file InternalNode.h.

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
void openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::setItem ( Index  pos,
ChildT *  child 
) const
inline

Definition at line 192 of file InternalNode.h.

template<typename _ChildNodeType, Index Log2Dim>
template<typename NodeT , typename ChildT , typename ValueT , typename TagT >
void openvdb::OPENVDB_VERSION_NAME::tree::InternalNode< _ChildNodeType, Log2Dim >::DenseIter< NodeT, ChildT, ValueT, TagT >::unsetItem ( Index  pos,
const ValueT &  value 
) const
inline

Definition at line 198 of file InternalNode.h.


The documentation for this struct was generated from the following file: