OpenVDB 3.2.0

Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
GridOperator< InGridT, MaskGridType, OutGridT, MapT, OperatorT, InterruptT > Class Template Reference

Apply an operator on an input grid to produce an output grid with the same topology but a possibly different value type. More...

`#include <GridOperators.h>`

## Public Types
typedef OutGridT::TreeType | OutTreeT
typedef OutTreeT::LeafNodeType | OutLeafT
typedef tree::LeafManager< OutTreeT > | LeafManagerT

## Public Member Functions
| GridOperator (const InGridT &grid, const MaskGridType *mask, const MapT &map, InterruptT *interrupt=NULL)
virtual | ~GridOperator ()
OutGridT::Ptr | process (bool threaded=true)
void | operator() (const typename LeafManagerT::LeafRange &range) const
| Iterate sequentially over LeafNodes and voxels in the output grid and compute the Laplacian using a valueAccessor for the input grid. More...

## Protected Types
typedef InGridT::ConstAccessor | AccessorT

## Protected Attributes
AccessorT | mAcc
const MapT & | mMap
InterruptT * | mInterrupt
const MaskGridType * | mMask

## Detailed Description

### template<typename InGridT, typename MaskGridType, typename OutGridT, typename MapT, typename OperatorT, typename InterruptT = util::NullInterrupter>
class openvdb::v3_2_0::tools::gridop::GridOperator< InGridT, MaskGridType, OutGridT, MapT, OperatorT, InterruptT >

Apply an operator on an input grid to produce an output grid with the same topology but a possibly different value type.

To facilitate inlining, this class is also templated on a Map type.

Note
  This is a helper class and should never be used directly.
  The current implementation assumes all the input values are represented by leaf voxels and not tiles. In the future we will expand this class to also handle tile values.

## Member Typedef Documentation

## ◆ AccessorT

typedef InGridT::ConstAccessor AccessorT
| protected

## ◆ LeafManagerT

typedef tree::LeafManager<OutTreeT> LeafManagerT

## ◆ OutLeafT

typedef OutTreeT::LeafNodeType OutLeafT

## ◆ OutTreeT

typedef OutGridT::TreeType OutTreeT

## Constructor & Destructor Documentation

## ◆ GridOperator()

GridOperator | ( | const InGridT & | grid,
|  | const MaskGridType * | mask,
|  | const MapT & | map,
|  | InterruptT * | interrupt = `NULL`
| ) |  |
| inline

## ◆ ~GridOperator()

virtual ~GridOperator | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ operator()()

void operator() | ( | const typename LeafManagerT::LeafRange & | range | ) | const
| inline

Iterate sequentially over LeafNodes and voxels in the output grid and compute the Laplacian using a valueAccessor for the input grid.

Note
  Never call this public method directly - it is called by TBB threads only!

## ◆ process()

OutGridT::Ptr process | ( | bool | threaded = `true` | ) |
| inline

## Member Data Documentation

## ◆ mAcc

AccessorT mAcc
| mutable protected

## ◆ mInterrupt

InterruptT* mInterrupt
| protected

## ◆ mMap

const MapT& mMap
| protected

## ◆ mMask

const MaskGridType* mMask
| protected

The documentation for this class was generated from the following file:

- GridOperators.h