Loading...
Searching...
No Matches
PointTransfer.h File Reference

Framework methods for rasterizing PointDataGrid data to Trees. More...

`#include <openvdb/openvdb.h>`
`#include <openvdb/Types.h>`
`#include <openvdb/Grid.h>`
`#include <openvdb/math/Transform.h>`
`#include <openvdb/util/NullInterrupter.h>`
`#include <openvdb/thread/Threading.h>`
`#include <type_traits>`
`#include <tuple>`

Go to the source code of this file.

## Classes

struct | TransformTransfer
| The TransformTransfer module should be used if the source transform of the input points and the target transforms of the destination volumes differ. The default rasterizer will skip index to world (and vice versa) transformations unless a transfer scheme derives from a TransformTransfer. More...
struct | 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. More...
struct | VolumeTransfer< TreeTypes >::TypeResolver< T >
struct | VolumeTransfer< TreeT >
| VolumeTransfer specialization for a single target volume. More...
struct | RasterizePoints< TransferT, TopologyT, PointFilterT, InterrupterT >

## Namespaces

namespace | openvdb
namespace | openvdb::v11_0
namespace | openvdb::v11_0::points
namespace | openvdb::v11_0::points::transfer_internal

## Functions

template<typename PointDataTreeOrGridT, typename TransferT, typename FilterT = NullFilter, typename InterrupterT = util::NullInterrupter>
void | rasterize (const PointDataTreeOrGridT &points, TransferT &transfer, const FilterT &filter=NullFilter(), InterrupterT *interrupter=nullptr)
| Perform potentially complex rasterization from a user defined transfer scheme.
template<typename T, typename F, size_t... Is>
void | foreach (T &&t, const F &func, std::integer_sequence< size_t, Is... >)
template<typename T, typename F, size_t... Is>
void | foreach (void **buffers, const F &func, std::integer_sequence< size_t, Is... >)
template<typename T, template< typename > class R, typename F, size_t... Is>
void | foreach (void **buffers, const F &func, std::integer_sequence< size_t, Is... >)

## Detailed Description

Framework methods for rasterizing PointDataGrid data to Trees.

Author
  Nick Avramoussis

Provides a generic inherited interface for deriving transfer schemes that represent how point data should be rasterized. The provided components together support the transfer of multiple attributes to arbitrary and multiple grid types. Target grids must have the same transform, but this transform can differ from the source PointDataGrid (multiple instantiations of rasterize() should instead be invoked to transfer to grids of different transforms). Arbitrary attributes can be accessed and transfered to arbitrary trees.