HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT > Struct Template Reference

DynamicNodeManager operator to merge two trees using a CSG difference. More...

#include <Merge.h>

Public Types

using ValueT = typename TreeT::ValueType
 
using RootT = typename TreeT::RootNodeType
 
using LeafT = typename TreeT::LeafNodeType
 

Public Member Functions

template<typename TagT >
 CsgDifferenceOp (TreeT &tree, TagT tag)
 Convenience constructor to CSG difference a single non-const tree from another. This constructor takes a Steal or DeepCopy tag dispatch class. More...
 
 CsgDifferenceOp (const TreeT &tree, DeepCopy tag)
 Convenience constructor to CSG difference a single const tree from another. This constructor requires an explicit DeepCopy tag dispatch class. More...
 
 CsgDifferenceOp (TreeToMerge< TreeT > &tree)
 Constructor to CSG difference the tree in a TreeToMerge object from another. More...
 
size_t size () const
 Return the number of trees being merged (only ever 1) More...
 
bool operator() (RootT &root, size_t idx) const
 
template<typename NodeT >
bool operator() (NodeT &node, size_t idx) const
 
bool operator() (LeafT &leaf, size_t idx) const
 

Detailed Description

template<typename TreeT>
struct openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >

DynamicNodeManager operator to merge two trees using a CSG difference.

Note
This class modifies the topology of the tree so is designed to be used from DynamicNodeManager::foreachTopDown().

Definition at line 259 of file Merge.h.

Member Typedef Documentation

template<typename TreeT>
using openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::LeafT = typename TreeT::LeafNodeType

Definition at line 263 of file Merge.h.

template<typename TreeT>
using openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::RootT = typename TreeT::RootNodeType

Definition at line 262 of file Merge.h.

template<typename TreeT>
using openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::ValueT = typename TreeT::ValueType

Definition at line 261 of file Merge.h.

Constructor & Destructor Documentation

template<typename TreeT>
template<typename TagT >
openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::CsgDifferenceOp ( TreeT &  tree,
TagT  tag 
)
inline

Convenience constructor to CSG difference a single non-const tree from another. This constructor takes a Steal or DeepCopy tag dispatch class.

Definition at line 269 of file Merge.h.

template<typename TreeT>
openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::CsgDifferenceOp ( const TreeT &  tree,
DeepCopy  tag 
)
inline

Convenience constructor to CSG difference a single const tree from another. This constructor requires an explicit DeepCopy tag dispatch class.

Definition at line 273 of file Merge.h.

template<typename TreeT>
openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::CsgDifferenceOp ( TreeToMerge< TreeT > &  tree)
inlineexplicit

Constructor to CSG difference the tree in a TreeToMerge object from another.

Definition at line 277 of file Merge.h.

Member Function Documentation

template<typename TreeT >
bool openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::operator() ( RootT root,
size_t  idx 
) const

Definition at line 993 of file Merge.h.

template<typename TreeT >
template<typename NodeT >
bool openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::operator() ( NodeT &  node,
size_t  idx 
) const

Definition at line 1080 of file Merge.h.

template<typename TreeT >
bool openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::operator() ( LeafT leaf,
size_t  idx 
) const

Definition at line 1135 of file Merge.h.

template<typename TreeT>
size_t openvdb::OPENVDB_VERSION_NAME::tools::CsgDifferenceOp< TreeT >::size ( void  ) const
inline

Return the number of trees being merged (only ever 1)

Definition at line 280 of file Merge.h.


The documentation for this struct was generated from the following file: