|
template<typename GridOrTreeT > |
OPENVDB_STATIC_SPECIALIZATION void | csgUnion (GridOrTreeT &a, GridOrTreeT &b, bool prune=true) |
| Given two level set grids, replace the A grid with the union of A and B. More...
|
|
template<typename GridOrTreeT > |
OPENVDB_STATIC_SPECIALIZATION void | csgIntersection (GridOrTreeT &a, GridOrTreeT &b, bool prune=true) |
| Given two level set grids, replace the A grid with the intersection of A and B. More...
|
|
template<typename GridOrTreeT > |
OPENVDB_STATIC_SPECIALIZATION void | csgDifference (GridOrTreeT &a, GridOrTreeT &b, bool prune=true) |
| Given two level set grids, replace the A grid with the difference A / B. More...
|
|
template<typename GridOrTreeT > |
OPENVDB_STATIC_SPECIALIZATION GridOrTreeT::Ptr | 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 > |
OPENVDB_STATIC_SPECIALIZATION GridOrTreeT::Ptr | 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 > |
OPENVDB_STATIC_SPECIALIZATION GridOrTreeT::Ptr | 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 > |
OPENVDB_STATIC_SPECIALIZATION void | 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 > |
OPENVDB_STATIC_SPECIALIZATION void | 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 > |
OPENVDB_STATIC_SPECIALIZATION void | 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 > |
OPENVDB_STATIC_SPECIALIZATION void | 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 > |
OPENVDB_STATIC_SPECIALIZATION void | 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 > |
OPENVDB_STATIC_SPECIALIZATION void | compReplace (GridOrTreeT &a, const GridOrTreeT &b) |
| Copy the active voxels of B into A. More...
|
|
template<typename T > |
const boost::disable_if_c< VecTraits< T >::IsVec, T >::type & | min (const T &a, const T &b) |
|
template<typename T > |
const boost::disable_if_c< VecTraits< T >::IsVec, T >::type & | max (const T &a, const T &b) |
|
template<typename T > |
const boost::enable_if_c< VecTraits< T >::IsVec, T >::type & | min (const T &a, const T &b) |
|
template<typename T > |
const boost::enable_if_c< VecTraits< T >::IsVec, T >::type & | max (const T &a, const T &b) |
|
template<typename T > |
boost::disable_if< boost::is_integral< T >, T >::type | divide (const T &a, const T &b) |
|
template<typename T > |
boost::enable_if< boost::is_integral< T >, T >::type | divide (const T &a, const T &b) |
|
bool | divide (bool a, bool) |
|
template<CSGOperation Operation, typename TreeType > |
TreeType::Ptr | doCSGCopy (const TreeType &lhs, const TreeType &rhs) |
|
Functions to efficiently perform various compositing operations on grids.
- Authors
- Peter Cucka, Mihai Alden