|
HDK
|
#include "pxr/pxr.h"#include "pxr/usd/usd/api.h"#include "pxr/base/arch/hints.h"#include "pxr/base/tf/bitUtils.h"#include "pxr/base/tf/hash.h"#include <bitset>
Include dependency graph for primFlags.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | Usd_Term |
| class | Usd_PrimFlagsPredicate |
| class | Usd_PrimFlagsConjunction |
| class | Usd_PrimFlagsDisjunction |
Typedefs | |
| typedef std::bitset < Usd_PrimNumFlags > | Usd_PrimFlagBits |
Functions | |
| Usd_Term | operator! (Usd_PrimFlags flag) |
| Usd_PrimFlagsConjunction | operator&& (Usd_Term lhs, Usd_Term rhs) |
| Usd_PrimFlagsConjunction | operator&& (const Usd_PrimFlagsConjunction &conjunction, Usd_Term rhs) |
| Usd_PrimFlagsConjunction | operator&& (Usd_Term lhs, const Usd_PrimFlagsConjunction &conjunction) |
| Usd_PrimFlagsConjunction | operator&& (Usd_PrimFlags lhs, Usd_PrimFlags rhs) |
| Usd_PrimFlagsDisjunction | operator|| (Usd_Term lhs, Usd_Term rhs) |
| Usd_PrimFlagsDisjunction | operator|| (const Usd_PrimFlagsDisjunction &disjunction, Usd_Term rhs) |
| Usd_PrimFlagsDisjunction | operator|| (Usd_Term lhs, const Usd_PrimFlagsDisjunction &disjunction) |
| Usd_PrimFlagsDisjunction | operator|| (Usd_PrimFlags lhs, Usd_PrimFlags rhs) |
| Usd_PrimFlagsPredicate | UsdTraverseInstanceProxies (Usd_PrimFlagsPredicate predicate) |
| Usd_PrimFlagsPredicate | UsdTraverseInstanceProxies () |
Variables | |
| USD_API const Usd_PrimFlagsConjunction | UsdPrimDefaultPredicate |
| USD_API const Usd_PrimFlagsPredicate | UsdPrimAllPrimsPredicate |
Provides terms for UsdPrim flags that can be combined to form either a conjunction (via &&) or a disjunction (via ||). The result is a predicate functor object that tests those flags on the passed prim. Currently UsdPrim::GetFilteredChildren(), UsdPrim::GetNextFilteredSibling(), UsdPrim::GetFilteredDescendants(), and UsdPrimRange() accept these predicates to filter out unwanted prims.
For example:
For performance, these predicates are implemented by a bitwise test, so arbitrary boolean expressions cannot be represented. The set of boolean expressions that can be represented are conjunctions with possibly negated terms (or disjunctions, by De Morgan's law). Here are some examples of valid expressions:
Here are some examples of invalid expressions:
The following variables provide the clauses that can be combined and negated to produce predicates:
Definition in file primFlags.h.
| typedef std::bitset<Usd_PrimNumFlags> Usd_PrimFlagBits |
Definition at line 95 of file primFlags.h.
| enum Usd_PrimFlags |
Definition at line 71 of file primFlags.h.
|
inline |
Definition at line 115 of file primFlags.h.
|
inline |
Definition at line 353 of file primFlags.h.
|
inline |
Definition at line 361 of file primFlags.h.
|
inline |
Definition at line 366 of file primFlags.h.
|
inline |
Definition at line 371 of file primFlags.h.
|
inline |
Definition at line 456 of file primFlags.h.
|
inline |
Definition at line 461 of file primFlags.h.
|
inline |
Definition at line 466 of file primFlags.h.
|
inline |
Definition at line 471 of file primFlags.h.
|
inline |
This function is used to allow the prim traversal functions listed under Prim predicate flags to traverse beneath instance prims and return descendants that pass the specified predicate as instance proxy prims. For example:
Users may also call Usd_PrimFlagsPredicate::TraverseInstanceProxies to enable traversal beneath instance prims. This function is equivalent to:
However, this function may be more convenient, especially when calling a prim traversal function with a default-constructed tautology predicate.
Definition at line 565 of file primFlags.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Convenience method equivalent to calling UsdTraverseInstanceProxies with the UsdPrimDefaultPredicate that is used by default for prim traversals.
Definition at line 575 of file primFlags.h.
| USD_API const Usd_PrimFlagsPredicate UsdPrimAllPrimsPredicate |
| USD_API const Usd_PrimFlagsConjunction UsdPrimDefaultPredicate |