Loading...
Searching...
No Matches
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.

## Classes

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 >

## Namespaces

namespace | openvdb
namespace | openvdb::v10_0
namespace | openvdb::v10_0::tools
namespace | openvdb::v10_0::tools::ds

## Enumerations

enum | DSCompositeOp { DS_OVER , DS_ADD , DS_SUB , DS_MIN , DS_MAX , DS_MULT , DS_SET }

## Functions

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.).
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.
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.
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.