OpenVDB 13.0.0

Loading...
Searching...
No Matches
NodeManagerLink< NodeT, LEVEL > Class Template Reference

This class is a link in a chain that each caches tree nodes of a specific type in a linear array. More...

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

## Public Types
using | NonConstChildNodeType = typename NodeT::ChildNodeType
using | ChildNodeType = typename CopyConstness<NodeT, NonConstChildNodeType>::Type

## Public Member Functions
| NodeManagerLink ()=default
void | clear ()
template<typename RootT>
void | initRootChildren (RootT &root, bool serial=false)
template<typename ParentsT>
void | initNodeChildren (ParentsT &parents, bool serial=false)
Index64 | nodeCount () const
Index64 | nodeCount (Index i) const
template<typename NodeOp>
void | foreachBottomUp (const NodeOp &op, bool threaded, size_t grainSize)
template<typename NodeOp>
void | foreachTopDown (const NodeOp &op, bool threaded, size_t grainSize)
template<typename NodeOp>
void | reduceBottomUp (NodeOp &op, bool threaded, size_t grainSize)
template<typename NodeOp>
void | reduceTopDown (NodeOp &op, bool threaded, size_t grainSize)

## Protected Attributes
NodeList< NodeT > | mList
NodeManagerLink< ChildNodeType, LEVEL-1 > | mNext

## Detailed Description

template<typename NodeT, Index LEVEL>
class openvdb::v13_0::tree::NodeManagerLink< NodeT, LEVEL >

This class is a link in a chain that each caches tree nodes of a specific type in a linear array.

Note
  It is for internal use and should rarely be used directly.

## Member Typedef Documentation

## ◆ ChildNodeType

template<typename NodeT, Index LEVEL>

using ChildNodeType = typename CopyConstness<NodeT, NonConstChildNodeType>::Type

## ◆ NonConstChildNodeType

template<typename NodeT, Index LEVEL>

using NonConstChildNodeType = typename NodeT::ChildNodeType

## Constructor & Destructor Documentation

## ◆ NodeManagerLink()

template<typename NodeT, Index LEVEL>

NodeManagerLink | ( |  | ) |
| default

## Member Function Documentation

## ◆ clear()

template<typename NodeT, Index LEVEL>

void clear | ( |  | ) |
| inline

## ◆ foreachBottomUp()

template<typename NodeT, Index LEVEL>
template<typename NodeOp>

void foreachBottomUp | ( | const NodeOp & | op,
|  | bool | threaded,
|  | size_t | grainSize )
| inline

## ◆ foreachTopDown()

template<typename NodeT, Index LEVEL>
template<typename NodeOp>

void foreachTopDown | ( | const NodeOp & | op,
|  | bool | threaded,
|  | size_t | grainSize )
| inline

## ◆ initNodeChildren()

template<typename NodeT, Index LEVEL>
template<typename ParentsT>

void initNodeChildren | ( | ParentsT & | parents,
|  | bool | serial = false )
| inline

## ◆ initRootChildren()

template<typename NodeT, Index LEVEL>
template<typename RootT>

void initRootChildren | ( | RootT & | root,
|  | bool | serial = false )
| inline

## ◆ nodeCount() [1/2]

template<typename NodeT, Index LEVEL>

Index64 nodeCount | ( |  | ) | const
| inline

## ◆ nodeCount() [2/2]

template<typename NodeT, Index LEVEL>

Index64 nodeCount | ( | Index | i | ) | const
| inline

## ◆ reduceBottomUp()

template<typename NodeT, Index LEVEL>
template<typename NodeOp>

void reduceBottomUp | ( | NodeOp & | op,
|  | bool | threaded,
|  | size_t | grainSize )
| inline

## ◆ reduceTopDown()

template<typename NodeT, Index LEVEL>
template<typename NodeOp>

void reduceTopDown | ( | NodeOp & | op,
|  | bool | threaded,
|  | size_t | grainSize )
| inline

## Member Data Documentation

## ◆ mList

template<typename NodeT, Index LEVEL>

NodeList<NodeT> mList
| protected

## ◆ mNext

template<typename NodeT, Index LEVEL>

NodeManagerLink<ChildNodeType, LEVEL-1> mNext
| protected