NVIDIA: Add prim flag HasAbstractSpecifier to filter prim with class specifier
Description of Change(s)
There's no way to identify a concretely define subgraph using traversal predicates because "IsAbstract" will match all ancestors.
This PR adds a HasAbstractSpecifier similar to HasDefiningSpecifier as a prim flag.
Example
class "abstract_root" {
def "concrete_subgraph" {
def "concrete_child" {
def "concrete_grandchild" {
}
}
}
}
/abstract_root/conrete_subgraph is defined but abstract because of its abstract ancestor. A HasAbstractSpecifier prim flag would allow the specification to enabling traversal of the decendants of concrete_subgraph using the predicate HasDefiningSpecifier && !HasAbstractSpecifier.
See discussion in https://forum.aousd.org/t/pointinstancer-prototype-scope-best-practices/2662.
Link to proposal (if applicable)
Fixes Issue(s)
Checklist
-
[x] I have created this PR based on the dev branch
-
[x] I have followed the coding conventions
-
[x] I have added unit tests that exercise this functionality (Reference: testing guidelines)
-
[x] I have verified that all unit tests pass with the proposed changes
-
[x] I have submitted a signed Contributor License Agreement (Reference: Contributor License Agreement instructions)
@nvmkuruc for vis.