HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GridOperators.h File Reference

Apply an operator to an input grid to produce an output grid with the same active voxel topology but a potentially different value type. More...

#include <openvdb/openvdb.h>
#include <openvdb/Grid.h>
#include <openvdb/math/Operators.h>
#include <openvdb/util/NullInterrupter.h>
#include <openvdb/thread/Threading.h>
#include <openvdb/tree/LeafManager.h>
#include <openvdb/tree/ValueAccessor.h>
#include "ValueTransformer.h"
#include <tbb/parallel_for.h>
+ Include dependency graph for GridOperators.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openvdb::OPENVDB_VERSION_NAME::tools::VectorToScalarConverter< VectorGridType >
 VectorToScalarConverter<VectorGridType>::Type is the type of a grid having the same tree configuration as VectorGridType but a scalar value type, T, where T is the type of the original vector components. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::ScalarToVectorConverter< ScalarGridType >
 ScalarToVectorConverter<ScalarGridType>::Type is the type of a grid having the same tree configuration as ScalarGridType but value type Vec3<T> where T is ScalarGridType::ValueType. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::gridop::ToMaskGrid< GridType >
 ToMaskGrid<T>::Type is the type of a grid having the same tree hierarchy as grid type T but a value equal to its active state. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tools::gridop::GridOperator< InGridT, MaskGridType, OutGridT, MapT, OperatorT, InterruptT >
 Apply an operator to an input grid to produce an output grid with the same active voxel topology but a potentially different value type. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Cpt< InGridT, MaskGridType, InterruptT >
 Compute the closest-point transform of a scalar grid. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Curl< GridT, MaskGridType, InterruptT >
 Compute the curl of a vector grid. More...
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Divergence< InGridT, MaskGridType, InterruptT >
 Compute the divergence of a vector grid. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Divergence< InGridT, MaskGridType, InterruptT >::Functor< DiffScheme >
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Gradient< InGridT, MaskGridType, InterruptT >
 Compute the gradient of a scalar grid. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Gradient< InGridT, MaskGridType, InterruptT >::Functor
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Laplacian< GridT, MaskGridType, InterruptT >
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Laplacian< GridT, MaskGridType, InterruptT >::Functor
 
class  openvdb::OPENVDB_VERSION_NAME::tools::MeanCurvature< GridT, MaskGridType, InterruptT >
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::MeanCurvature< GridT, MaskGridType, InterruptT >::Functor
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Magnitude< InGridT, MaskGridType, InterruptT >
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Magnitude< InGridT, MaskGridType, InterruptT >::OpT
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Magnitude< InGridT, MaskGridType, InterruptT >::Functor
 
class  openvdb::OPENVDB_VERSION_NAME::tools::Normalize< GridT, MaskGridType, InterruptT >
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Normalize< GridT, MaskGridType, InterruptT >::OpT
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::Normalize< GridT, MaskGridType, InterruptT >::Functor
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::tools
 
 openvdb::OPENVDB_VERSION_NAME::tools::gridop
 

Functions

template<typename GridType , typename InterruptT >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::cpt (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the Closest-Point Transform (CPT) from a distance field. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::cpt (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::cpt (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::cpt (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::curl (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the curl of the given vector-valued grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::curl (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::curl (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::curl (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::divergence (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the divergence of the given vector-valued grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::divergence (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::divergence (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::divergence (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::gradient (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the gradient of the given scalar grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::gradient (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::gradient (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
ScalarToVectorConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::gradient (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::laplacian (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the Laplacian of the given scalar grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::laplacian (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::laplacian (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::laplacian (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::meanCurvature (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the mean curvature of the given grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::meanCurvature (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::meanCurvature (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::meanCurvature (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::magnitude (const GridType &grid, bool threaded, InterruptT *interrupt)
 Compute the magnitudes of the vectors of the given vector-valued grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::magnitude (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::magnitude (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
VectorToScalarConverter
< GridType >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::magnitude (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::normalize (const GridType &grid, bool threaded, InterruptT *interrupt)
 Normalize the vectors of the given vector-valued grid. More...
 
template<typename GridType , typename MaskT , typename InterruptT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::normalize (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::normalize (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr openvdb::OPENVDB_VERSION_NAME::tools::normalize (const GridType &grid, const MaskT &mask, bool threaded=true)
 

Detailed Description

Apply an operator to an input grid to produce an output grid with the same active voxel topology but a potentially different value type.

Definition in file GridOperators.h.