Loading...
Searching...
No Matches
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>
NodeMaskT * | mask ()
NodeMaskT * | mask (const size_t idx)
template<size_t Idx>
const NodeMaskT * | mask () const
const NodeMaskT * | mask (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::v11_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

## NodeMaskT

template<typename ... TreeTypes>

using NodeMaskT = typename TreeType<0>::LeafNodeType::NodeMaskType

## TreeTupleT

template<typename ... TreeTypes>

using TreeTupleT = std::tuple<TreeTypes*...>

## TreeType

template<typename ... TreeTypes>
template<size_t Idx>

using TreeType = typename std::tuple_element<Idx, std::tuple<TreeTypes...>>::type

## ValueType

template<typename ... TreeTypes>
template<size_t Idx>

using ValueType = typename TreeType<Idx>::ValueType

## Constructor & Destructor Documentation

## VolumeTransfer() [1/3]

template<typename ... TreeTypes>

VolumeTransfer | ( | TreeTypes *... | trees | ) |

## VolumeTransfer() [2/3]

template<typename ... TreeTypes>

VolumeTransfer | ( | TreeTypes &... | trees | ) |

inline

## VolumeTransfer() [3/3]

template<typename ... TreeTypes>

VolumeTransfer | ( | const VolumeTransfer< TreeTypes > & | other | ) |

inline

## Member Function Documentation

## buffer() [1/2]

template<typename ... TreeTypes>
template<size_t Idx>

ValueType< Idx > * buffer | ( |  | ) |

inline

## buffer() [2/2]

template<typename ... TreeTypes>
template<size_t Idx>

const ValueType< Idx > * buffer | ( |  | ) | const

inline

## foreach()

template<typename ... TreeTypes>
template<typename FunctorT>

void foreach | ( | const FunctorT & | functor | ) |

inline

## initialize()

template<typename ... TreeTypes>

void initialize | ( | const Coord & | origin,
|  | const size_t | ,
|  | const CoordBBox & | )

inline

## mask() [1/4]

template<typename ... TreeTypes>
template<size_t Idx>

NodeMaskT * mask | ( |  | ) |

inline

## mask() [2/4]

template<typename ... TreeTypes>
template<size_t Idx>

const NodeMaskT * mask | ( |  | ) | const

inline

## mask() [3/4]

template<typename ... TreeTypes>

NodeMaskT * mask | ( | const size_t | idx | ) |

inline

## mask() [4/4]

template<typename ... TreeTypes>

const NodeMaskT * mask | ( | const size_t | idx | ) | const

inline

## topology()

template<typename ... TreeTypes>

TreeType< 0 > & topology | ( |  | ) |

inline

## Member Data Documentation

## Size

template<typename ... TreeTypes>

const size_t Size = sizeof...(TreeTypes)

static