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

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

#include <TreeIterator.h>

Public Types

using _NodeT = typename hboost::mpl::front< NodeVecT >::type
 
using PrevIterT = typename PrevItemT::IterT
 The type of iterator stored in the previous 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., RootNode::ValueOnCIter) More...
 
using NodeT = typename IterT::NodeType
 The type of node 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 ChildT = typename CopyConstness< NodeT, typename NodeT::ChildNodeType >::Type
 NodeT's child node type, with the same constness (e.g., const InternalNode<...>) More...
 
using NCChildT = typename CopyConstness< NCNodeT, typename NCNodeT::ChildNodeType >::Type
 NodeT's child node type with const qualifiers removed. More...
 
using ITraits = IterTraits< NCNodeT, IterT >
 

Public Member Functions

 IterListItem (PrevItemT *prev)
 
 IterListItem (const IterListItem &other)
 
IterListItemoperator= (const IterListItem &other)
 
void updateBackPointers (PrevItemT *prev)
 
void setIter (const IterT &iter)
 
void getNode (Index lvl, NodeT *&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 = _Level
 NodeT's level in its tree (0 = LeafNode) More...
 

Detailed Description

template<typename PrevItemT, typename NodeVecT, Index _Level>
class openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >

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

Definition at line 554 of file TreeIterator.h.

Member Typedef Documentation

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::_NodeT = typename hboost::mpl::front<NodeVecT>::type

Definition at line 557 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::ChildT = typename CopyConstness<NodeT, typename NodeT::ChildNodeType>::Type

NodeT's child node type, with the same constness (e.g., const InternalNode<...>)

Definition at line 571 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::IterT = typename IterTraits<typename PrevIterT::NonConstNodeType, PrevIterT>::template NodeConverter<_NodeT>::Type

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

Definition at line 562 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::ITraits = IterTraits<NCNodeT, IterT>

Definition at line 574 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::NCChildT = typename CopyConstness<NCNodeT, typename NCNodeT::ChildNodeType>::Type

NodeT's child node type with const qualifiers removed.

Definition at line 573 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::NCNodeT = typename IterT::NonConstNodeType

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

Definition at line 567 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::NCValueT = typename IterT::NonConstValueType

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

Definition at line 569 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::NodeT = typename IterT::NodeType

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

Definition at line 565 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
using openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::PrevIterT = typename PrevItemT::IterT

The type of iterator stored in the previous list item.

Definition at line 559 of file TreeIterator.h.

Constructor & Destructor Documentation

template<typename PrevItemT , typename NodeVecT , Index _Level>
openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::IterListItem ( PrevItemT *  prev)
inline

Definition at line 578 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::IterListItem ( const IterListItem< PrevItemT, NodeVecT, 1, _Level > &  other)
inline

Definition at line 580 of file TreeIterator.h.

Member Function Documentation

template<typename PrevItemT , typename NodeVecT , Index _Level>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::down ( Index  lvl)
inline

Definition at line 618 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
Index openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::getChildDim ( Index  lvl) const
inline

Definition at line 630 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
Coord openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::getCoord ( Index  lvl) const
inline

Definition at line 629 of file TreeIterator.h.

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

Definition at line 597 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
const NCValueT& openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::getValue ( Index  lvl) const
inline

Definition at line 635 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
Index64 openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::getVoxelCount ( Index  lvl) const
inline

Definition at line 631 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
template<typename OtherIterListItemT >
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::initLevel ( Index  lvl,
OtherIterListItemT &  otherListItem 
)
inline

Definition at line 603 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::isValueOn ( Index  lvl) const
inline

Definition at line 633 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
template<typename ModifyOp >
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::modifyValue ( Index  lvl,
const ModifyOp &  op 
) const
inline

Definition at line 647 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::next ( Index  lvl)
inline

Definition at line 616 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
IterListItem& openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::operator= ( const IterListItem< PrevItemT, NodeVecT, 1, _Level > &  other)
inline

<

Note
external call to updateBackPointers() required

Definition at line 581 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
Index openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::pos ( Index  lvl) const
inline

Definition at line 612 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::setIter ( const IterT iter)
inline

Definition at line 595 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::setValue ( Index  lvl,
const NCValueT val 
) const
inline

Definition at line 642 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::setValueOff ( Index  lvl) const
inline

Definition at line 644 of file TreeIterator.h.

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

Definition at line 643 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
bool openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::test ( Index  lvl) const
inline

Definition at line 614 of file TreeIterator.h.

template<typename PrevItemT , typename NodeVecT , Index _Level>
void openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::updateBackPointers ( PrevItemT *  prev)
inline

Definition at line 590 of file TreeIterator.h.

Member Data Documentation

template<typename PrevItemT , typename NodeVecT , Index _Level>
const Index openvdb::OPENVDB_VERSION_NAME::tree::IterListItem< PrevItemT, NodeVecT, 1, _Level >::Level = _Level
static

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

Definition at line 576 of file TreeIterator.h.


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