Loading...
Searching...
No Matches
NodeChain< HeadT, HeadLevel > Struct Template Reference

NodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a openvdb::TypeList that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode. More...

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

## Public Types

using | SubtreeT = typename NodeChain<typename HeadT::ChildNodeType, HeadLevel-1>::Type
using | Type = typename SubtreeT::template Append<HeadT>

## Detailed Description

template<typename HeadT, int HeadLevel>
struct openvdb::v10_0::tree::NodeChain< HeadT, HeadLevel >

NodeChain<RootNodeType, RootNodeType::LEVEL>::Type is a openvdb::TypeList that lists the types of the nodes of the tree rooted at RootNodeType in reverse order, from LeafNode to RootNode.

For example, if RootNodeType is

RootNode<InternalNode<InternalNode<LeafNode> > >
openvdb::v10_0::tree::RootNode
Definition RootNode.h:39

then NodeChain::Type is

openvdb::TypeList<
LeafNode,
InternalNode<LeafNode>,
InternalNode<InternalNode<LeafNode> >,
RootNode<InternalNode<InternalNode<LeafNode> > > >
openvdb::v10_0::tree::InternalNode
Definition InternalNode.h:34
openvdb::v10_0::tree::LeafNode
Templated block class to hold specific data types and a fixed number of values determined by Log2Dim....
Definition LeafNode.h:38
openvdb::v10_0::TypeList
A list of types (not necessarily unique).
Definition TypeList.h:484

Note
  Use the following to get the Nth node type, where N=0 is the LeafNodeType:
  NodeChainType::Get<N>;

## Member Typedef Documentation

## SubtreeT

template<typename HeadT, int HeadLevel>

using SubtreeT = typename NodeChain<typename HeadT::ChildNodeType, HeadLevel-1>::Type

## Type

template<typename HeadT, int HeadLevel>

using Type = typename SubtreeT::template Append<HeadT>