OpenVDB: CopyFromDense< _TreeT, _DenseT > Class Template Reference

OpenVDB 12.1.0

Loading...
Searching...
No Matches
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::v12_1::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!