OpenVDB  3.1.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< OutTreeTLeafManagerT
 

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_1_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

typedef InGridT::ConstAccessor AccessorT
protected
typedef OutTreeT::LeafNodeType OutLeafT
typedef OutGridT::TreeType OutTreeT

Constructor & Destructor Documentation

GridOperator ( const InGridT &  grid,
const MaskGridType *  mask,
const MapT &  map,
InterruptT *  interrupt = NULL 
)
inline
virtual ~GridOperator ( )
inlinevirtual

Member Function Documentation

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!
OutGridT::Ptr process ( bool  threaded = true)
inline

Member Data Documentation

AccessorT mAcc
mutableprotected
InterruptT* mInterrupt
protected
const MapT& mMap
protected
const MaskGridType* mMask
protected

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