OpenVDB 11.0.0
Loading...
Searching...
No Matches
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.
 
void operator() (const tbb::blocked_range< size_t > &r) const
 Public method called by tbb::parallel_for.
 

Detailed Description

template<typename _TreeT, typename _DenseT = Dense<typename _TreeT::ValueType>>
class openvdb::v11_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

◆ AccessorT

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
using AccessorT = tree::ValueAccessor<TreeT>

◆ DenseT

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
using DenseT = _DenseT

◆ LeafT

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
using LeafT = typename TreeT::LeafNodeType

◆ TreeT

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
using TreeT = _TreeT

◆ ValueT

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
using ValueT = typename TreeT::ValueType

Constructor & Destructor Documentation

◆ CopyFromDense() [1/2]

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
CopyFromDense ( const DenseT & dense,
TreeT & tree,
const ValueT & tolerance )
inline

◆ CopyFromDense() [2/2]

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
CopyFromDense ( const CopyFromDense< _TreeT, _DenseT > & other)
inline

Member Function Documentation

◆ copy()

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
void copy ( bool serial = false)
inline

Copy values from the dense grid to the sparse tree.

◆ operator()()

template<typename _TreeT , typename _DenseT = Dense<typename _TreeT::ValueType>>
void operator() ( const tbb::blocked_range< size_t > & r) const
inline

Public method called by tbb::parallel_for.

Warning
Never call this method directly!