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. More...
|
|
| 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. More...
|
|
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. More...
|
|
| CsgUnionOrIntersectionOp (const std::vector< TreeToMerge< TreeT >> &trees) |
| Constructor to accept a vector of TreeToMerge objects, primarily used when mixing const/non-const trees. More...
|
|
| CsgUnionOrIntersectionOp (const std::deque< TreeToMerge< TreeT >> &trees) |
| Constructor to accept a deque of TreeToMerge objects, primarily used when mixing const/non-const trees. More...
|
|
bool | empty () const |
| Return true if no trees being merged. More...
|
|
size_t | size () const |
| Return the number of trees being merged. More...
|
|
void | setPruneCancelledTiles (bool doprune) |
| Enables immediate pruning of tiles that cancel each other out. 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 |
|
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.