OpenVDB 12.1.0

Loading...
Searching...
No Matches
LeafIteratorBase< TreeT, RootChildOnIterT > Class Template Reference

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

`#include <openvdb/tree/TreeIterator.h>`

## Public Types
using | RootIterT = RootChildOnIterT
using | RootNodeT = typename RootIterT::NodeType
using | NCRootNodeT = typename RootIterT::NonConstNodeType
using | InvTreeT = typename iter::InvertedTree<NCRootNodeT, ROOT_LEVEL>::Type
using | NCLeafNodeT = typename InvTreeT::Front
using | LeafNodeT = typename CopyConstness<RootNodeT, NCLeafNodeT>::Type
using | RootIterTraits = IterTraits<NCRootNodeT, RootIterT>

## Public Member Functions
| LeafIteratorBase ()
| LeafIteratorBase (TreeT &tree)
| LeafIteratorBase (const LeafIteratorBase &other)
LeafIteratorBase & | operator= (const LeafIteratorBase &other)
LeafNodeT * | getLeaf () const
| Return the leaf node to which the iterator is pointing.
LeafNodeT & | operator* () const
LeafNodeT * | operator-> () const
bool | test () const
| operator bool () const
bool | next ()
| Advance the iterator to the next leaf node.
void | increment ()
LeafIteratorBase & | operator++ ()
void | increment (Index n)
| Increment the iterator n times.
TreeT * | getTree () const

## 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::v12_1::tree::LeafIteratorBase< TreeT, RootChildOnIterT >

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

## Member Typedef Documentation

## ◆ InvTreeT

template<typename TreeT, typename RootChildOnIterT>

using InvTreeT = typename iter::InvertedTree<NCRootNodeT, ROOT_LEVEL>::Type

## ◆ LeafNodeT

template<typename TreeT, typename RootChildOnIterT>

using LeafNodeT = typename CopyConstness<RootNodeT, NCLeafNodeT>::Type

## ◆ NCLeafNodeT

template<typename TreeT, typename RootChildOnIterT>

using NCLeafNodeT = typename InvTreeT::Front

## ◆ NCRootNodeT

template<typename TreeT, typename RootChildOnIterT>

using NCRootNodeT = typename RootIterT::NonConstNodeType

## ◆ RootIterT

template<typename TreeT, typename RootChildOnIterT>

using RootIterT = RootChildOnIterT

## ◆ RootIterTraits

template<typename TreeT, typename RootChildOnIterT>

using RootIterTraits = IterTraits<NCRootNodeT, RootIterT>

## ◆ RootNodeT

template<typename TreeT, typename RootChildOnIterT>

using RootNodeT = typename RootIterT::NodeType

## Constructor & Destructor Documentation

## ◆ LeafIteratorBase() [1/3]

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase | ( |  | ) |
| inline

## ◆ LeafIteratorBase() [2/3]

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase | ( | TreeT & | tree | ) |
| inline

## ◆ LeafIteratorBase() [3/3]

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase | ( | const LeafIteratorBase< TreeT, RootChildOnIterT > & | other | ) |
| inline

## Member Function Documentation

## ◆ getLeaf()

template<typename TreeT, typename RootChildOnIterT>

LeafNodeT * getLeaf | ( |  | ) | const
| inline

Return the leaf node to which the iterator is pointing.

## ◆ getTree()

template<typename TreeT, typename RootChildOnIterT>

TreeT * getTree | ( |  | ) | const
| inline

## ◆ increment() [1/2]

template<typename TreeT, typename RootChildOnIterT>

void increment | ( |  | ) |
| inline

## ◆ increment() [2/2]

template<typename TreeT, typename RootChildOnIterT>

void increment | ( | Index | n | ) |
| inline

Increment the iterator n times.

## ◆ next()

template<typename TreeT, typename RootChildOnIterT>

bool next | ( |  | ) |
| inline

Advance the iterator to the next leaf node.

## ◆ operator bool()

template<typename TreeT, typename RootChildOnIterT>

operator bool | ( |  | ) | const
| inline

## ◆ operator*()

template<typename TreeT, typename RootChildOnIterT>

LeafNodeT & operator* | ( |  | ) | const
| inline

## ◆ operator++()

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase & operator++ | ( |  | ) |
| inline

## ◆ operator->()

template<typename TreeT, typename RootChildOnIterT>

LeafNodeT * operator-> | ( |  | ) | const
| inline

## ◆ operator=()

template<typename TreeT, typename RootChildOnIterT>

LeafIteratorBase & operator= | ( | const LeafIteratorBase< TreeT, RootChildOnIterT > & | other | ) |
| inline

## ◆ test()

template<typename TreeT, typename RootChildOnIterT>

bool test | ( |  | ) | const
| inline

## Member Data Documentation

## ◆ LEAF_LEVEL

template<typename TreeT, typename RootChildOnIterT>

const Index LEAF_LEVEL = 0
| static

## ◆ LEAF_PARENT_LEVEL

template<typename TreeT, typename RootChildOnIterT>

const Index LEAF_PARENT_LEVEL = LEAF_LEVEL + 1
| static

## ◆ ROOT_LEVEL

template<typename TreeT, typename RootChildOnIterT>

const Index ROOT_LEVEL = RootNodeT::LEVEL
| static