OpenVDB  12.0.0
Classes | Public Types | Public Member Functions | List of all members
CopyFromDense< _TreeT, _DenseT > Class Template Reference

Copy the values from a dense grid into an OpenVDB tree. More...

#include <openvdb/tools/Dense.h>

Public Types

using DenseT = _DenseT
 
using TreeT = _TreeT
 
using ValueT = typename TreeT::ValueType
 
using LeafT = typename TreeT::LeafNodeType
 
using AccessorT = tree::ValueAccessor< TreeT >
 

Public Member Functions

 CopyFromDense (const DenseT &dense, TreeT &tree, const ValueT &tolerance)
 
 CopyFromDense (const CopyFromDense &other)
 
void copy (bool serial=false)
 Copy values from the dense grid to the sparse tree. More...
 
void operator() (const tbb::blocked_range< size_t > &r) const
 Public method called by tbb::parallel_for. More...
 

Detailed Description

template<typename _TreeT, typename _DenseT = Dense<typename _TreeT::ValueType>>
class openvdb::v12_0::tools::CopyFromDense< _TreeT, _DenseT >

Copy the values from a dense grid into an OpenVDB tree.

Values in the dense grid that are within a tolerance of the background value are truncated to inactive background voxels or tiles. This allows the tree to form a sparse representation of the dense grid.

Note
Since this class allocates leaf nodes concurrently it is recommended to use a scalable implementation of new like the one provided by TBB, rather than the mutex-protected standard library new.

Member Typedef Documentation

using DenseT = _DenseT
using LeafT = typename TreeT::LeafNodeType
using TreeT = _TreeT
using ValueT = typename TreeT::ValueType

Constructor & Destructor Documentation

CopyFromDense ( const DenseT dense,
TreeT tree,
const ValueT tolerance 
)
inline
CopyFromDense ( const CopyFromDense< _TreeT, _DenseT > &  other)
inline

Member Function Documentation

void copy ( bool  serial = false)
inline

Copy values from the dense grid to the sparse tree.

void operator() ( const tbb::blocked_range< size_t > &  r) const
inline

Public method called by tbb::parallel_for.

Warning
Never call this method directly!