|
HDK
|
Functions to efficiently perform various compositing operations on grids. More...
#include <openvdb/Platform.h>#include <openvdb/Exceptions.h>#include <openvdb/Types.h>#include <openvdb/Grid.h>#include <openvdb/math/Math.h>#include <openvdb/openvdb.h>#include "Merge.h"#include "ValueTransformer.h"#include "Prune.h"#include "SignedFloodFill.h"#include <tbb/blocked_range.h>#include <tbb/parallel_for.h>#include <tbb/parallel_reduce.h>#include <tbb/task_group.h>#include <type_traits>#include <functional>
Include dependency graph for Composite.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::CompReplaceOp< TreeT > |
Namespaces | |
| openvdb | |
| openvdb::OPENVDB_VERSION_NAME | |
| openvdb::OPENVDB_VERSION_NAME::tools | |
| openvdb::OPENVDB_VERSION_NAME::tools::composite | |
Functions | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::csgUnion (GridOrTreeT &a, GridOrTreeT &b, bool prune=true, bool pruneCancelledTiles=false) |
| Given two level set grids, replace the A grid with the union of A and B. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::csgIntersection (GridOrTreeT &a, GridOrTreeT &b, bool prune=true, bool pruneCancelledTiles=false) |
| Given two level set grids, replace the A grid with the intersection of A and B. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::csgDifference (GridOrTreeT &a, GridOrTreeT &b, bool prune=true, bool pruneCancelledTiles=false) |
| Given two level set grids, replace the A grid with the difference A / B. More... | |
| template<typename GridOrTreeT > | |
| GridOrTreeT::Ptr | openvdb::OPENVDB_VERSION_NAME::tools::csgUnionCopy (const GridOrTreeT &a, const GridOrTreeT &b) |
| Threaded CSG union operation that produces a new grid or tree from immutable inputs. More... | |
| template<typename GridOrTreeT > | |
| GridOrTreeT::Ptr | openvdb::OPENVDB_VERSION_NAME::tools::csgIntersectionCopy (const GridOrTreeT &a, const GridOrTreeT &b) |
| Threaded CSG intersection operation that produces a new grid or tree from immutable inputs. More... | |
| template<typename GridOrTreeT > | |
| GridOrTreeT::Ptr | openvdb::OPENVDB_VERSION_NAME::tools::csgDifferenceCopy (const GridOrTreeT &a, const GridOrTreeT &b) |
| Threaded CSG difference operation that produces a new grid or tree from immutable inputs. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compMax (GridOrTreeT &a, GridOrTreeT &b) |
| Given grids A and B, compute max(a, b) per voxel (using sparse traversal). Store the result in the A grid and leave the B grid empty. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compMin (GridOrTreeT &a, GridOrTreeT &b) |
| Given grids A and B, compute min(a, b) per voxel (using sparse traversal). Store the result in the A grid and leave the B grid empty. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compSum (GridOrTreeT &a, GridOrTreeT &b) |
| Given grids A and B, compute a + b per voxel (using sparse traversal). Store the result in the A grid and leave the B grid empty. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compMul (GridOrTreeT &a, GridOrTreeT &b) |
| Given grids A and B, compute a * b per voxel (using sparse traversal). Store the result in the A grid and leave the B grid empty. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compDiv (GridOrTreeT &a, GridOrTreeT &b) |
| Given grids A and B, compute a / b per voxel (using sparse traversal). Store the result in the A grid and leave the B grid empty. More... | |
| template<typename GridOrTreeT > | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compReplace (GridOrTreeT &a, const GridOrTreeT &b) |
| Copy the active voxels of B into A. More... | |
| template<typename T > | |
| const std::enable_if <!VecTraits< T >::IsVec, T > ::type & | openvdb::OPENVDB_VERSION_NAME::tools::composite::min (const T &a, const T &b) |
| template<typename T > | |
| const std::enable_if <!VecTraits< T >::IsVec, T > ::type & | openvdb::OPENVDB_VERSION_NAME::tools::composite::max (const T &a, const T &b) |
| template<typename T > | |
| const std::enable_if < VecTraits< T >::IsVec, T > ::type & | openvdb::OPENVDB_VERSION_NAME::tools::composite::min (const T &a, const T &b) |
| template<typename T > | |
| const std::enable_if < VecTraits< T >::IsVec, T > ::type & | openvdb::OPENVDB_VERSION_NAME::tools::composite::max (const T &a, const T &b) |
| template<typename T > | |
| std::enable_if <!std::is_integral< T >::value, T >::type | openvdb::OPENVDB_VERSION_NAME::tools::composite::divide (const T &a, const T &b) |
| template<typename T > | |
| std::enable_if < std::is_integral< T >::value, T >::type | openvdb::OPENVDB_VERSION_NAME::tools::composite::divide (const T &a, const T &b) |
| bool | openvdb::OPENVDB_VERSION_NAME::tools::composite::divide (bool a, bool) |
| template<typename TreeT , typename OpT = composite::CopyOp<TreeT>> | |
| void | openvdb::OPENVDB_VERSION_NAME::tools::compActiveLeafVoxels (TreeT &srcTree, TreeT &dstTree, OpT op=composite::CopyOp< TreeT >()) |
| Composite the active values in leaf nodes, i.e. active voxels, of a source tree into a destination tree. More... | |
Functions to efficiently perform various compositing operations on grids.
Definition in file Composite.h.