HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT > Class Template Reference

Base class for tree-traversal iterators over all leaf nodes (but not leaf voxels) More...

#include <TreeIterator.h>

Public Types

typedef RootChildOnIterT RootIterT
 
typedef RootIterT::NodeType RootNodeT
 
typedef RootIterT::NonConstNodeType NCRootNodeT
 
typedef iter::InvertedTree
< NCRootNodeT, ROOT_LEVEL >
::Type 
InvTreeT
 
typedef hboost::mpl::front
< InvTreeT >::type 
NCLeafNodeT
 
typedef CopyConstness
< RootNodeT, NCLeafNodeT >
::Type 
LeafNodeT
 
typedef IterTraits
< NCRootNodeT, RootIterT
RootIterTraits
 

Public Member Functions

 LeafIteratorBase ()
 
 LeafIteratorBase (TreeT &tree)
 
 LeafIteratorBase (const LeafIteratorBase &other)
 
LeafIteratorBaseoperator= (const LeafIteratorBase &other)
 
bool test () const
 
 operator bool () const
 
void increment (Index n)
 Increment the iterator n times. More...
 
TreeT * getTree () const
 
LeafNodeTgetLeaf () const
 Return the leaf node to which the iterator is pointing. More...
 
LeafNodeToperator* () const
 Return the leaf node to which the iterator is pointing. More...
 
LeafNodeToperator-> () const
 Return the leaf node to which the iterator is pointing. More...
 
bool next ()
 Advance the iterator to the next leaf node. More...
 
void increment ()
 Advance the iterator to the next leaf node. More...
 
LeafIteratorBaseoperator++ ()
 Advance the iterator to the next leaf node. More...
 

Static Public Attributes

static const Index ROOT_LEVEL = RootNodeT::LEVEL
 
static const Index LEAF_LEVEL = 0
 
static const Index LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
 

Detailed Description

template<typename TreeT, typename RootChildOnIterT>
class openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >

Base class for tree-traversal iterators over all leaf nodes (but not leaf voxels)

Definition at line 1228 of file TreeIterator.h.

Member Typedef Documentation

template<typename TreeT , typename RootChildOnIterT >
typedef iter::InvertedTree<NCRootNodeT, ROOT_LEVEL>::Type openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::InvTreeT

Definition at line 1235 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
typedef CopyConstness<RootNodeT, NCLeafNodeT>::Type openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafNodeT

Definition at line 1237 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
typedef hboost::mpl::front<InvTreeT>::type openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::NCLeafNodeT

Definition at line 1236 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
typedef RootIterT::NonConstNodeType openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::NCRootNodeT

Definition at line 1233 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
typedef RootChildOnIterT openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::RootIterT

Definition at line 1231 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
typedef IterTraits<NCRootNodeT, RootIterT> openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::RootIterTraits

Definition at line 1240 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
typedef RootIterT::NodeType openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::RootNodeT

Definition at line 1232 of file TreeIterator.h.

Constructor & Destructor Documentation

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafIteratorBase ( )
inline

Definition at line 1242 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafIteratorBase ( TreeT &  tree)
inline

Definition at line 1244 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LeafIteratorBase ( const LeafIteratorBase< TreeT, RootChildOnIterT > &  other)
inline

Definition at line 1255 of file TreeIterator.h.

Member Function Documentation

template<typename TreeT , typename RootChildOnIterT >
LeafNodeT* openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::getLeaf ( ) const
inline

Return the leaf node to which the iterator is pointing.

Definition at line 1271 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
TreeT* openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::getTree ( ) const
inline

Definition at line 1288 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
void openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::increment ( )
inline

Advance the iterator to the next leaf node.

Definition at line 1282 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
void openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::increment ( Index  n)
inline

Increment the iterator n times.

Definition at line 1286 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
bool openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::next ( )
inline

Advance the iterator to the next leaf node.

Definition at line 1303 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator bool ( ) const
inline

Definition at line 1277 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafNodeT& openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator* ( void  ) const
inline

Return the leaf node to which the iterator is pointing.

Definition at line 1272 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafIteratorBase& openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator++ ( )
inline

Advance the iterator to the next leaf node.

Definition at line 1283 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafNodeT* openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator-> ( void  ) const
inline

Return the leaf node to which the iterator is pointing.

Definition at line 1273 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
LeafIteratorBase& openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::operator= ( const LeafIteratorBase< TreeT, RootChildOnIterT > &  other)
inline

Definition at line 1259 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
bool openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::test ( ) const
inline

Definition at line 1276 of file TreeIterator.h.

Member Data Documentation

template<typename TreeT , typename RootChildOnIterT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LEAF_LEVEL = 0
static

Definition at line 1238 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
static

Definition at line 1238 of file TreeIterator.h.

template<typename TreeT , typename RootChildOnIterT >
const Index openvdb::OPENVDB_VERSION_NAME::tree::LeafIteratorBase< TreeT, RootChildOnIterT >::ROOT_LEVEL = RootNodeT::LEVEL
static

Definition at line 1234 of file TreeIterator.h.


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