OpenVDB: GridTransformOp< Sampler > Class Template Reference

OpenVDB 9.0.0

Public Member Functions | List of all members
GridTransformOp< Sampler > Class Template Reference

GridTransformOp is a functor class for use with GridBase::apply() that samples an input grid into an output grid of the same type through a given affine transform. More...

`#include <openvdb_houdini/UT_VDBTools.h>`

## Public Member Functions
| GridTransformOp (GridPtr &outGrid, const openvdb::tools::GridTransformer &t)
template<typename GridType >
void | operator() (const GridType &inGrid)

## Detailed Description

template<typename Sampler>
class openvdb_houdini::GridTransformOp< Sampler >

GridTransformOp is a functor class for use with GridBase::apply() that samples an input grid into an output grid of the same type through a given affine transform.

The output grid's transform is unchanged by this operation.

See also
  GridResampleOp, GridResampleToMatchOp

Example:
  const Grid& inGrid = ...; // generic reference to a grid of any type
  // Create a new, empty output grid of the same (so far, unknown) type
  // as the input grid and with the same transform and metadata.
  GridPtr outGrid = inGrid.copyGridWithNewTree();
  // Initialize a GridTransformer with the parameters of an affine transform.
  openvdb::tools::GridTransformer xform(pivot, scale, rotate, ...);
  // Resolve the input grid's type and resample it into the output grid,
  // using a second-order sampling kernel.
  GridTransformOp<openvdb::tools::QuadraticSampler> op(outGrid, xform);
  inGrid.apply<openvdb_houdini::ScalarGridTypes>(op);
  openvdb::v9_0::math::mat3_internal::pivot
  void pivot(int i, int j, Mat3< T > &S, Vec3< T > &D, Mat3< T > &Q)
  Definition: Mat3.h:682
  openvdb::v9_0::math::scale
  MatType scale(const Vec3< typename MatType::value_type > &s)
  Return a matrix that scales by s.
  Definition: Mat.h:637
  openvdb_houdini::GridPtr
  openvdb::GridBase::Ptr GridPtr
  Definition: Utils.h:35
  openvdb_houdini::Grid
  openvdb::GridBase Grid
  Definition: Utils.h:34
  openvdb::v9_0::TypeList
  A list of types (not necessarily unique)
  Definition: TypeList.h:366

## Constructor & Destructor Documentation

## ◆ GridTransformOp()

GridTransformOp | ( | GridPtr & | outGrid,
|  | const openvdb::tools::GridTransformer & | t
| ) |  |
| inline

Parameters

  outGrid | a generic pointer to an output grid of the same type as the grid to be resampled
  t | a `GridTransformer` that defines an affine transform

Note
  GridTransformOp makes an internal copy of the `GridTransformer` and supplies the copy with a default Interrupter that replaces any existing interrupter.

## Member Function Documentation

## ◆ operator()()

void operator() | ( | const GridType & | inGrid | ) |
| inline