Loading...
Searching...
No Matches
GridResampler Class Reference

`#include <openvdb/tools/GridTransformer.h>`

Inheritance diagram for GridResampler:

## Public Types

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

## Public Member Functions

| GridResampler ()
virtual | ~GridResampler ()
| GridResampler (const GridResampler &)=default
GridResampler & | operator= (const GridResampler &)=default
void | setThreaded (bool b)
| Enable or disable threading. (Threading is enabled by default.)
bool | threaded () const
| Return `true` if threading is enabled.
void | setTransformTiles (bool b)
| Enable or disable processing of tiles. (Enabled by default, except for level set grids.)
bool | transformTiles () const
| Return `true` if tile processing is enabled.
template<typename InterrupterType >
void | setInterrupter (InterrupterType &)
| Allow processing to be aborted by providing an interrupter object. The interrupter will be queried periodically during processing.
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);
openvdb::v11_0::tools::GridResampler
Definition GridTransformer.h:163
openvdb::v11_0::tools::BoxSampler
Definition Interpolation.h:120

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
openvdb
Definition Exceptions.h:13

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

## InterruptFunc

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

## Ptr

using Ptr = SharedPtr<GridResampler>

## Constructor & Destructor Documentation

## GridResampler() [1/2]

GridResampler | ( |  | ) |

inline

## ~GridResampler()

virtual ~GridResampler | ( |  | ) |

inlinevirtual

## GridResampler() [2/2]

GridResampler | ( | const GridResampler & |  | ) |

default

## Member Function Documentation

## applyTransform()

template<class Sampler , class GridT , typename Transformer >

void applyTransform | ( | const Transformer & | xform,
|  | const GridT & | inGrid,
|  | GridT & | outGrid
| ) |  | const

protected

## interrupt()

bool interrupt | ( |  | ) | const

inlineprotected

## operator=()

GridResampler & operator= | ( | const GridResampler & |  | ) |

default

## setInterrupter()

template<typename InterrupterType >

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.

## setThreaded()

void setThreaded | ( | bool | b | ) |

inline

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

## setTransformTiles()

void setTransformTiles | ( | bool | b | ) |

inline

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

## threaded()

bool threaded | ( |  | ) | const

inline

Return `true` if threading is enabled.

## transformGrid()

template<typename Sampler , typename GridT , typename Transformer >

void transformGrid | ( | const Transformer & | xform,
|  | const GridT & | inGrid,
|  | GridT & | outGrid
| ) |  | const

## transformTiles()

bool transformTiles | ( |  | ) | const

inline

Return `true` if tile processing is enabled.