OpenVDB  1.1.0
Classes | Namespaces
LeafManager.h File Reference
#include <boost/shared_ptr.hpp>
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <openvdb/Types.h>
#include "TreeIterator.h"

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::v1_1_0
namespace  openvdb::v1_1_0::tree
namespace  openvdb::v1_1_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 sync'ing (i.e., copying the contents) of these buffers.