OpenVDB  12.0.0
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
VolumeTransfer< TreeTypes > Struct Template Reference

The VolumeTransfer module provides methods to automatically setup and access destination buffers for multiple target volumes of arbitrary types. Deriving from a VolumeTransfer ensures that the available buffers correlate to the order of the provided tree arguments. More...

#include <openvdb/points/PointTransfer.h>

Classes

struct  TypeResolver
 

Public Types

using TreeTupleT = std::tuple< TreeTypes *... >
 
template<size_t Idx>
using TreeType = typename std::tuple_element< Idx, std::tuple< TreeTypes... >>::type
 
template<size_t Idx>
using ValueType = typename TreeType< Idx >::ValueType
 
using NodeMaskT = typename TreeType< 0 >::LeafNodeType::NodeMaskType
 

Public Member Functions

 VolumeTransfer (TreeTypes *...trees)
 
 VolumeTransfer (TreeTypes &...trees)
 
 VolumeTransfer (const VolumeTransfer &other)
 
TreeType< 0 > & topology ()
 
void initialize (const Coord &origin, const size_t, const CoordBBox &)
 
template<size_t Idx>
ValueType< Idx > * buffer ()
 
template<size_t Idx>
const ValueType< Idx > * buffer () const
 
template<size_t Idx>
NodeMaskTmask ()
 
NodeMaskTmask (const size_t idx)
 
template<size_t Idx>
const NodeMaskTmask () const
 
const NodeMaskTmask (const size_t idx) const
 
template<typename FunctorT >
void foreach (const FunctorT &functor)
 

Static Public Attributes

static const size_t Size = sizeof...(TreeTypes)
 

Detailed Description

template<typename... TreeTypes>
struct openvdb::v12_0::points::VolumeTransfer< TreeTypes >

The VolumeTransfer module provides methods to automatically setup and access destination buffers for multiple target volumes of arbitrary types. Deriving from a VolumeTransfer ensures that the available buffers correlate to the order of the provided tree arguments.

Member Typedef Documentation

using NodeMaskT = typename TreeType<0>::LeafNodeType::NodeMaskType
using TreeTupleT = std::tuple<TreeTypes*...>
using TreeType = typename std::tuple_element<Idx, std::tuple<TreeTypes...>>::type
using ValueType = typename TreeType<Idx>::ValueType

Constructor & Destructor Documentation

VolumeTransfer ( TreeTypes *...  trees)
VolumeTransfer ( TreeTypes &...  trees)
inline
VolumeTransfer ( const VolumeTransfer< TreeTypes > &  other)
inline

Member Function Documentation

ValueType<Idx>* buffer ( )
inline
const ValueType<Idx>* buffer ( ) const
inline
void foreach ( const FunctorT &  functor)
inline
void initialize ( const Coord &  origin,
const size_t  ,
const CoordBBox &   
)
inline
NodeMaskT* mask ( )
inline
NodeMaskT* mask ( const size_t  idx)
inline
const NodeMaskT* mask ( ) const
inline
const NodeMaskT* mask ( const size_t  idx) const
inline
TreeType<0>& topology ( )
inline

Member Data Documentation

const size_t Size = sizeof...(TreeTypes)
static