OpenVDB 13.0.0

Loading...
Searching...
No Matches
LeafManager.h File Reference

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. More...

`#include <openvdb/Types.h>`
`#include <openvdb/util/Assert.h>`
`#include "RootNode.h"`
`#include <tbb/blocked_range.h>`
`#include <tbb/parallel_for.h>`
`#include <tbb/parallel_reduce.h>`
`#include <deque>`
`#include <functional>`
`#include <type_traits>`

Go to the source code of this file.

## Classes
struct | TreeTraits< TreeT >
| Useful traits for Tree types. More...
struct | TreeTraits< const TreeT >
struct | LeafManagerImpl< ManagerT >
class | LeafManager< TreeT >
| This class 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. More...
class | LeafManager< TreeT >::LeafRange
class | LeafManager< TreeT >::LeafRange::Iterator
struct | LeafManagerImpl< LeafManager< const TreeT > >

## Namespaces
namespace | openvdb
namespace | openvdb::v13_0
namespace | openvdb::v13_0::tree
namespace | openvdb::v13_0::tree::leafmgr

## Detailed Description

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.

The leaf array is useful for multithreaded computations over leaf voxels in a tree with static topology but varying voxel values. The auxiliary buffers are convenient for temporal integration. Efficient methods are provided for multithreaded swapping and synching (i.e., copying the contents) of these buffers.