OpenVDB  12.0.0
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
GridResampler Class Reference

#include <openvdb/tools/GridTransformer.h>

Inherited by GridTransformer.

Public Types

using Ptr = SharedPtr< GridResampler >
 
using InterruptFunc = std::function< bool(void)>
 

Public Member Functions

 GridResampler ()
 
virtual ~GridResampler ()
 
 GridResampler (const GridResampler &)=default
 
GridResampleroperator= (const GridResampler &)=default
 
void setThreaded (bool b)
 Enable or disable threading. (Threading is enabled by default.) More...
 
bool threaded () const
 Return true if threading is enabled. More...
 
void setTransformTiles (bool b)
 Enable or disable processing of tiles. (Enabled by default, except for level set grids.) More...
 
bool transformTiles () const
 Return true if tile processing is enabled. More...
 
template<typename InterrupterType >
void setInterrupter (InterrupterType &)
 Allow processing to be aborted by providing an interrupter object. The interrupter will be queried periodically during processing. More...
 
template<typename Sampler , typename GridT , typename Transformer >
void transformGrid (const Transformer &, const GridT &inGrid, GridT &outGrid) const
 

Protected Member Functions

template<typename Sampler , typename GridT , typename Transformer >
void applyTransform (const Transformer &, const GridT &inGrid, GridT &outGrid) const
 
bool interrupt () const
 

Detailed Description

A GridResampler applies a geometric transformation to an input grid using one of several sampling schemes, and stores the result in an output grid.

Usage:

GridResampler resampler();
resampler.transformGrid<BoxSampler>(xform, inGrid, outGrid);

where xform is a functor that implements the following methods:

bool isAffine() const
openvdb::Vec3d transform(const openvdb::Vec3d&) const
openvdb::Vec3d invTransform(const openvdb::Vec3d&) const
Note
When the transform is affine and can be expressed as a 4 x 4 matrix, a GridTransformer is much more efficient than a GridResampler.

Member Typedef Documentation

using InterruptFunc = std::function<bool (void)>

Constructor & Destructor Documentation

GridResampler ( )
inline
virtual ~GridResampler ( )
inlinevirtual
GridResampler ( const GridResampler )
default

Member Function Documentation

void applyTransform ( const Transformer &  xform,
const GridT &  inGrid,
GridT &  outGrid 
) const
protected
bool interrupt ( ) const
inlineprotected
GridResampler& operator= ( const GridResampler )
default
void setInterrupter ( InterrupterType &  interrupter)

Allow processing to be aborted by providing an interrupter object. The interrupter will be queried periodically during processing.

See also
util/NullInterrupter.h for interrupter interface requirements.
void setThreaded ( bool  b)
inline

Enable or disable threading. (Threading is enabled by default.)

void setTransformTiles ( bool  b)
inline

Enable or disable processing of tiles. (Enabled by default, except for level set grids.)

bool threaded ( ) const
inline

Return true if threading is enabled.

void transformGrid ( const Transformer &  xform,
const GridT &  inGrid,
GridT &  outGrid 
) const
bool transformTiles ( ) const
inline

Return true if tile processing is enabled.