OpenVDB  6.2.0
Classes | Namespaces | Enumerations | Functions
DenseSparseTools.h File Reference
#include <tbb/parallel_reduce.h>
#include <tbb/blocked_range3d.h>
#include <tbb/blocked_range2d.h>
#include <tbb/blocked_range.h>
#include <openvdb/Types.h>
#include <openvdb/tree/LeafManager.h>
#include "Dense.h"
#include <algorithm>
#include <vector>

Go to the source code of this file.


struct  DSConverter< DenseType, TreeType >
class  SparseExtractor< OpType, DenseType >
 Functor-based class used to extract data that satisfies some criteria defined by the embedded OpType functor. The extractSparseTree function wraps this class. More...
class  SparseMaskedExtractor< DenseType, MaskTreeType >
 Functor-based class used to extract data from a dense grid, at the index-space intersection with a supplied mask in the form of a sparse tree. The extractSparseTreeWithMask function wraps this class. More...
struct  ExtractAll< _ResultTreeType, DenseValueType >
 a simple utility class used by extractSparseTreeWithMask More...
class  DenseTransformer< _ValueT, OpType >
 Class that applies a functor to the index space intersection of a prescribed bounding box and the dense grid. NB: This class only supports DenseGrids with ZYX memory layout. More...
struct  ContiguousOp< ValueT, PointWiseOp >
 a wrapper struct used to avoid unnecessary computation of memory access from Coord when all offsets are guaranteed to be within the dense grid. More...
class  SparseToDenseCompositor< CompositeMethod, _TreeT >
struct  OpOver< ValueT >
 Point wise methods used to apply various compositing operations. More...
struct  OpAdd< ValueT >
struct  OpSub< ValueT >
struct  OpMin< ValueT >
struct  OpMax< ValueT >
struct  OpMult< ValueT >
struct  CompositeFunctorTranslator< OP, ValueT >
 Translator that converts an enum to compositing functor types. More...
struct  CompositeFunctorTranslator< DS_OVER, ValueT >
struct  CompositeFunctorTranslator< DS_ADD, ValueT >
struct  CompositeFunctorTranslator< DS_SUB, ValueT >
struct  CompositeFunctorTranslator< DS_MIN, ValueT >
struct  CompositeFunctorTranslator< DS_MAX, ValueT >
struct  CompositeFunctorTranslator< DS_MULT, ValueT >




enum  DSCompositeOp {


template<typename OpType , typename DenseType >
OpType::ResultTreeType::Ptr extractSparseTree (const DenseType &dense, const OpType &functor, const typename OpType::ResultValueType &background, bool threaded=true)
 Selectively extract and transform data from a dense grid, producing a sparse tree with leaf nodes only (e.g. create a tree from the square of values greater than a cutoff.) More...
template<typename DenseType , typename MaskTreeType >
DSConverter< DenseType, MaskTreeType >::Type::Ptr extractSparseTreeWithMask (const DenseType &dense, const MaskTreeType &mask, const typename DenseType::ValueType &background, bool threaded=true)
 Copy data from the intersection of a sparse tree and a dense input grid. The resulting tree has the same configuration as the sparse tree, but holds the data type specified by the dense input. More...
template<typename ValueT , typename OpType >
void transformDense (Dense< ValueT, openvdb::tools::LayoutZYX > &dense, const openvdb::CoordBBox &bbox, const OpType &op, bool parallel=true)
template<DSCompositeOp , typename TreeT >
void compositeToDense (Dense< typename TreeT::ValueType, LayoutZYX > &dense, const TreeT &source, const TreeT &alpha, const typename TreeT::ValueType beta, const typename TreeT::ValueType strength, bool threaded=true)
 Composite data from a sparse tree into a dense array of the same value type. More...
template<typename ValueT , typename PointwiseOpT >
void transformDense (Dense< ValueT, openvdb::tools::LayoutZYX > &dense, const openvdb::CoordBBox &bbox, const PointwiseOpT &functor, bool parallel)
 Apply a point-wise functor to the intersection of a dense grid and a given bounding box. More...