|  | 
|  | InternalNode.h | 
|  | Internal table nodes for OpenVDB trees. 
 | 
|  | 
|  | Iterator.h | 
|  | 
|  | LeafBuffer.h | 
|  | 
|  | LeafManager.h | 
|  | A LeafManager manages a linear array of pointers to a given tree's leaf nodes, as well as optional auxiliary buffers (one or more per leaf) that can be swapped with the leaf nodes' voxel data buffers. 
 | 
|  | 
|  | LeafNode.h | 
|  | 
|  | LeafNodeBool.h | 
|  | 
|  | LeafNodeMask.h | 
|  | 
|  | NodeManager.h | 
|  | NodeManager produces linear arrays of all tree nodes allowing for efficient threading and bottom-up processing. 
 | 
|  | 
|  | NodeUnion.h | 
|  | 
|  | RootNode.h | 
|  | The root node of an OpenVDB tree. 
 | 
|  | 
|  | Tree.h | 
|  | 
|  | TreeIterator.h | 
|  | 
|  | ValueAccessor.h | 
|  | ValueAccessors are designed to help accelerate accesses into the OpenVDB Tree structures by storing caches to Tree branches. When traversing a grid in a spatially coherent pattern (e.g., iterating over neighboring voxels), the same branches and nodes of the underlying tree can be hit. If you do this using the Tree/RootNode methods directly, traversal will occur at O(log(n)) (or O(n) depending on the hash map implementation) for every access. However, using a ValueAccessor allows for the Accessor to cache previously visited Nodes, providing possible subsequent access speeds of O(1) if the next access is close to a previously cached Node. Accessors are lightweight and can be configured to cache any number of arbitrary Tree levels. 
 | 
|  |