DynamicNodeManager operator to merge trees using a CSG union or intersection.  
 More...
|  | 
| template<typename TagT> | 
|  | CsgUnionOrIntersectionOp (TreeT &tree, TagT tag) | 
|  | Convenience constructor to CSG union or intersect a single non-const tree with another. This constructor takes a Steal or DeepCopy tag dispatch class. 
 | 
|  | 
|  | CsgUnionOrIntersectionOp (const TreeT &tree, DeepCopy tag) | 
|  | Convenience constructor to CSG union or intersect a single const tree with another. This constructor requires a DeepCopy tag dispatch class. 
 | 
|  | 
| template<typename TreesT, typename TagT> | 
|  | CsgUnionOrIntersectionOp (TreesT &trees, TagT tag) | 
|  | Constructor to CSG union or intersect a container of multiple const or non-const tree pointers. A Steal tag requires a container of non-const trees, a DeepCopy tag will accept either const or non-const trees. 
 | 
|  | 
|  | CsgUnionOrIntersectionOp (const std::vector< TreeToMerge< TreeT > > &trees) | 
|  | Constructor to accept a vector of TreeToMerge objects, primarily used when mixing const/non-const trees. 
 | 
|  | 
|  | CsgUnionOrIntersectionOp (const std::deque< TreeToMerge< TreeT > > &trees) | 
|  | Constructor to accept a deque of TreeToMerge objects, primarily used when mixing const/non-const trees. 
 | 
|  | 
| bool | empty () const | 
|  | Return true if no trees being merged. 
 | 
|  | 
| size_t | size () const | 
|  | Return the number of trees being merged. 
 | 
|  | 
| void | setPruneCancelledTiles (bool doprune) | 
|  | Enables immediate pruning of tiles that cancel each other out. 
 | 
|  | 
| 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 | 
|  | 
template<typename TreeT, 
bool Union>
struct openvdb::v12_0::tools::CsgUnionOrIntersectionOp< TreeT, Union >
DynamicNodeManager operator to merge trees using a CSG union or intersection. 
- Note
- This class modifies the topology of the tree so is designed to be used from DynamicNodeManager::foreachTopDown().
A union and an intersection are opposite operations to each other so implemented in a combined class. Use the CsgUnionOp and CsgIntersectionOp aliases for convenience.