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::v10_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