HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::points::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 <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::OPENVDB_VERSION_NAME::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.

Definition at line 214 of file PointTransfer.h.

Member Typedef Documentation

template<typename... TreeTypes>
using openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::NodeMaskT = typename TreeType<0>::LeafNodeType::NodeMaskType

Definition at line 222 of file PointTransfer.h.

template<typename... TreeTypes>
using openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::TreeTupleT = std::tuple<TreeTypes*...>

Definition at line 217 of file PointTransfer.h.

template<typename... TreeTypes>
template<size_t Idx>
using openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::TreeType = typename std::tuple_element<Idx, std::tuple<TreeTypes...>>::type

Definition at line 219 of file PointTransfer.h.

template<typename... TreeTypes>
template<size_t Idx>
using openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::ValueType = typename TreeType<Idx>::ValueType

Definition at line 220 of file PointTransfer.h.

Constructor & Destructor Documentation

template<typename... TreeTypes>
openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::VolumeTransfer ( TreeTypes *...  trees)

Definition at line 360 of file PointTransfer.h.

template<typename... TreeTypes>
openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::VolumeTransfer ( TreeTypes &...  trees)
inline

Definition at line 226 of file PointTransfer.h.

Definition at line 229 of file PointTransfer.h.

Member Function Documentation

template<typename... TreeTypes>
template<size_t Idx>
ValueType<Idx>* openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::buffer ( )
inline

Definition at line 243 of file PointTransfer.h.

template<typename... TreeTypes>
template<size_t Idx>
const ValueType<Idx>* openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::buffer ( ) const
inline

Definition at line 249 of file PointTransfer.h.

template<typename... TreeTypes>
template<typename FunctorT >
void openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::foreach ( const FunctorT &  functor)
inline

Definition at line 396 of file PointTransfer.h.

template<typename... TreeTypes>
void openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::initialize ( const Coord &  origin,
const size_t  ,
const CoordBBox &   
)
inline

Definition at line 378 of file PointTransfer.h.

template<typename... TreeTypes>
template<size_t Idx>
NodeMaskT* openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::mask ( )
inline

Definition at line 255 of file PointTransfer.h.

template<typename... TreeTypes>
NodeMaskT* openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::mask ( const size_t  idx)
inline

Definition at line 256 of file PointTransfer.h.

template<typename... TreeTypes>
template<size_t Idx>
const NodeMaskT* openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::mask ( ) const
inline

Definition at line 259 of file PointTransfer.h.

template<typename... TreeTypes>
const NodeMaskT* openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::mask ( const size_t  idx) const
inline

Definition at line 260 of file PointTransfer.h.

template<typename... TreeTypes>
TreeType<0>& openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::topology ( )
inline

Definition at line 238 of file PointTransfer.h.

Member Data Documentation

template<typename... TreeTypes>
const size_t openvdb::OPENVDB_VERSION_NAME::points::VolumeTransfer< TreeTypes >::Size = sizeof...(TreeTypes)
static

Definition at line 216 of file PointTransfer.h.


The documentation for this struct was generated from the following file: