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::v11_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.