HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U > Class Template Reference

The initial element of a compile-time linked list of iterators to nodes of different types. More...

#include <TreeIterator.h>

Public Types

using PrevIterT = typename PrevItemT::IterT
 The type of iterator stored in the previous list item. More...
 
using _NodeT = typename hboost::mpl::front< NodeVecT >::type
 The type of node (non-const) whose iterator is stored in this list item. More...
 
using IterT = typename IterTraits< typename PrevIterT::NonConstNodeType, PrevIterT >::template NodeConverter< _NodeT >::Type
 The type of iterator stored in this list item (e.g., InternalNode::ValueOnCIter) More...
 
using NodeT = typename IterT::NodeType
 The type of node (const or non-const) over which IterT iterates (e.g., const RootNode<...>) More...
 
using NCNodeT = typename IterT::NonConstNodeType
 The type of the node with const qualifiers removed ("Non-Const") More...
 
using NCValueT = typename IterT::NonConstValueType
 The type of value (with const qualifiers removed) to which the iterator points. More...
 
using ITraits = IterTraits< NCNodeT, IterT >
 

Public Member Functions

 IterListItem (PrevItemT *)
 
 IterListItem (const IterListItem &other)
 
IterListItemoperator= (const IterListItem &other)
 
void updateBackPointers (PrevItemT *=nullptr)
 
void setIter (const IterT &iter)
 
template<typename OtherIterT >
void setIter (const OtherIterT &iter)
 
void getNode (Index lvl, NodeT *&node) const
 
template<typename OtherNodeT >
void getNode (Index lvl, OtherNodeT *&node) const
 
template<typename OtherIterListItemT >
void initLevel (Index lvl, OtherIterListItemT &otherListItem)
 
Index pos (Index lvl) const
 
bool test (Index lvl) const
 
bool next (Index lvl)
 
bool down (Index lvl)
 
Coord getCoord (Index lvl) const
 
Index getChildDim (Index lvl) const
 
Index64 getVoxelCount (Index lvl) const
 
bool isValueOn (Index lvl) const
 
const NCValueTgetValue (Index lvl) const
 
void setValue (Index lvl, const NCValueT &val) const
 
void setValueOn (Index lvl, bool on=true) const
 
void setValueOff (Index lvl) const
 
template<typename ModifyOp >
void modifyValue (Index lvl, const ModifyOp &op) const
 

Static Public Attributes

static const Index Level = 0
 NodeT's level in its tree (0 = LeafNode) More...
 

Detailed Description

template<typename PrevItemT, typename NodeVecT, size_t VecSize>
class openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >

The initial element of a compile-time linked list of iterators to nodes of different types.

Definition at line 427 of file TreeIterator.h.

Member Typedef Documentation

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::_NodeT = typename hboost::mpl::front<NodeVecT>::type

The type of node (non-const) whose iterator is stored in this list item.

Definition at line 433 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::IterT = typename IterTraits<typename PrevIterT::NonConstNodeType, PrevIterT>::template NodeConverter<_NodeT>::Type

The type of iterator stored in this list item (e.g., InternalNode::ValueOnCIter)

Definition at line 436 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::ITraits = IterTraits<NCNodeT, IterT>

Definition at line 444 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::NCNodeT = typename IterT::NonConstNodeType

The type of the node with const qualifiers removed ("Non-Const")

Definition at line 441 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::NCValueT = typename IterT::NonConstValueType

The type of value (with const qualifiers removed) to which the iterator points.

Definition at line 443 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::NodeT = typename IterT::NodeType

The type of node (const or non-const) over which IterT iterates (e.g., const RootNode<...>)

Definition at line 439 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::PrevIterT = typename PrevItemT::IterT

The type of iterator stored in the previous list item.

Definition at line 431 of file TreeIterator.h.

Constructor & Destructor Documentation

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::IterListItem ( PrevItemT *  )
inline

Definition at line 448 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::IterListItem ( const IterListItem< PrevItemT, NodeVecT, VecSize, 0U > &  other)
inline

Definition at line 450 of file TreeIterator.h.

Member Function Documentation

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::down ( Index  lvl)
inline

Definition at line 496 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
Index openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::getChildDim ( Index  lvl) const
inline

Definition at line 502 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
Coord openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::getCoord ( Index  lvl) const
inline

Definition at line 498 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::getNode ( Index  lvl,
NodeT *&  node 
) const
inline

Definition at line 471 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
template<typename OtherNodeT >
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::getNode ( Index  lvl,
OtherNodeT *&  node 
) const
inline

Definition at line 476 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
const NCValueT& openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::getValue ( Index  lvl) const
inline

Definition at line 517 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
Index64 openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::getVoxelCount ( Index  lvl) const
inline

Definition at line 507 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
template<typename OtherIterListItemT >
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::initLevel ( Index  lvl,
OtherIterListItemT &  otherListItem 
)
inline

Definition at line 479 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::isValueOn ( Index  lvl) const
inline

Definition at line 512 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
template<typename ModifyOp >
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::modifyValue ( Index  lvl,
const ModifyOp &  op 
) const
inline

Definition at line 537 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::next ( Index  lvl)
inline

Definition at line 494 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
IterListItem& openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::operator= ( const IterListItem< PrevItemT, NodeVecT, VecSize, 0U > &  other)
inline

Definition at line 452 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
Index openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::pos ( Index  lvl) const
inline

Definition at line 490 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::setIter ( const IterT iter)
inline

Definition at line 467 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
template<typename OtherIterT >
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::setIter ( const OtherIterT &  iter)
inline

Definition at line 469 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::setValue ( Index  lvl,
const NCValueT val 
) const
inline

Definition at line 523 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::setValueOff ( Index  lvl) const
inline

Definition at line 531 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::setValueOn ( Index  lvl,
bool  on = true 
) const
inline

Definition at line 527 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::test ( Index  lvl) const
inline

Definition at line 492 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::updateBackPointers ( PrevItemT *  = nullptr)
inline

Definition at line 462 of file TreeIterator.h.

Member Data Documentation

template<typename PrevItemT , typename NodeVecT , size_t VecSize>
const Index openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, VecSize, 0U >::Level = 0
static

NodeT's level in its tree (0 = LeafNode)

Definition at line 446 of file TreeIterator.h.


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