OpenVDB  12.0.0
Classes | Namespaces | Functions
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>

Go to the source code of this file.

Classes

struct  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  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  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  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  Cpt< InGridT, MaskGridType, InterruptT >
 Compute the closest-point transform of a scalar grid. More...
 
class  Curl< GridT, MaskGridType, InterruptT >
 Compute the curl of a vector grid. More...
 
class  Divergence< InGridT, MaskGridType, InterruptT >
 Compute the divergence of a vector grid. More...
 
struct  Divergence< InGridT, MaskGridType, InterruptT >::Functor< DiffScheme >
 
class  Gradient< InGridT, MaskGridType, InterruptT >
 Compute the gradient of a scalar grid. More...
 
struct  Gradient< InGridT, MaskGridType, InterruptT >::Functor
 
class  Laplacian< GridT, MaskGridType, InterruptT >
 
struct  Laplacian< GridT, MaskGridType, InterruptT >::Functor
 
class  MeanCurvature< GridT, MaskGridType, InterruptT >
 
struct  MeanCurvature< GridT, MaskGridType, InterruptT >::Functor
 
class  Magnitude< InGridT, MaskGridType, InterruptT >
 
struct  Magnitude< InGridT, MaskGridType, InterruptT >::OpT
 
struct  Magnitude< InGridT, MaskGridType, InterruptT >::Functor
 
class  Normalize< GridT, MaskGridType, InterruptT >
 
struct  Normalize< GridT, MaskGridType, InterruptT >::OpT
 
struct  Normalize< GridT, MaskGridType, InterruptT >::Functor
 

Namespaces

 openvdb
 
 openvdb::v12_0
 
 openvdb::v12_0::tools
 
 openvdb::v12_0::tools::gridop
 

Functions

template<typename GridType , typename InterruptT >
ScalarToVectorConverter< GridType >::Type::Ptr 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 cpt (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
ScalarToVectorConverter< GridType >::Type::Ptr cpt (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
ScalarToVectorConverter< GridType >::Type::Ptr cpt (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr 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 curl (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr curl (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr curl (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
VectorToScalarConverter< GridType >::Type::Ptr 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 divergence (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
VectorToScalarConverter< GridType >::Type::Ptr divergence (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
VectorToScalarConverter< GridType >::Type::Ptr divergence (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
ScalarToVectorConverter< GridType >::Type::Ptr 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 gradient (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
ScalarToVectorConverter< GridType >::Type::Ptr gradient (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
ScalarToVectorConverter< GridType >::Type::Ptr gradient (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr 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 laplacian (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr laplacian (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr laplacian (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr 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 meanCurvature (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr meanCurvature (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr meanCurvature (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
VectorToScalarConverter< GridType >::Type::Ptr 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 magnitude (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
VectorToScalarConverter< GridType >::Type::Ptr magnitude (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
VectorToScalarConverter< GridType >::Type::Ptr magnitude (const GridType &grid, const MaskT &mask, bool threaded=true)
 
template<typename GridType , typename InterruptT >
GridType::Ptr 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 normalize (const GridType &grid, const MaskT &mask, bool threaded, InterruptT *interrupt)
 
template<typename GridType >
GridType::Ptr normalize (const GridType &grid, bool threaded=true)
 
template<typename GridType , typename MaskT >
GridType::Ptr 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.