HDK
|
#include <cache.h>
Public Member Functions | |
USDSKEL_API | UsdSkelCache () |
USDSKEL_API void | Clear () |
USDSKEL_API bool | Populate (const UsdSkelRoot &root, Usd_PrimFlagsPredicate predicate) const |
USDSKEL_API UsdSkelSkeletonQuery | GetSkelQuery (const UsdSkelSkeleton &skel) const |
USDSKEL_API UsdSkelAnimQuery | GetAnimQuery (const UsdSkelAnimation &anim) const |
USDSKEL_API UsdSkelAnimQuery | GetAnimQuery (const UsdPrim &prim) const |
USDSKEL_API UsdSkelSkinningQuery | GetSkinningQuery (const UsdPrim &prim) const |
USDSKEL_API bool | ComputeSkelBindings (const UsdSkelRoot &skelRoot, std::vector< UsdSkelBinding > *bindings, Usd_PrimFlagsPredicate predicate) const |
USDSKEL_API bool | ComputeSkelBinding (const UsdSkelRoot &skelRoot, const UsdSkelSkeleton &skel, UsdSkelBinding *binding, Usd_PrimFlagsPredicate predicate) const |
Friends | |
class | UsdSkelAnimQuery |
class | UsdSkelSkeletonQuery |
Thread-safe cache for accessing query objects for evaluating skeletal data.
This provides caching of major structural components, such as skeletal topology. In a streaming context, this cache is intended to persist.
USDSKEL_API UsdSkelCache::UsdSkelCache | ( | ) |
USDSKEL_API void UsdSkelCache::Clear | ( | ) |
USDSKEL_API bool UsdSkelCache::ComputeSkelBinding | ( | const UsdSkelRoot & | skelRoot, |
const UsdSkelSkeleton & | skel, | ||
UsdSkelBinding * | binding, | ||
Usd_PrimFlagsPredicate | predicate | ||
) | const |
Compute the bindings corresponding to a single skeleton, bound beneath skelRoot
, as discovered through a traversal using predicate
.
Skinnable prims are only discoverable by this method if Populate() has already been called for skelRoot
, with an equivalent predicate.
USDSKEL_API bool UsdSkelCache::ComputeSkelBindings | ( | const UsdSkelRoot & | skelRoot, |
std::vector< UsdSkelBinding > * | bindings, | ||
Usd_PrimFlagsPredicate | predicate | ||
) | const |
Compute the set of skeleton bindings beneath skelRoot
, as discovered through a traversal using predicate
.
Skinnable prims are only discoverable by this method if Populate() has already been called for skelRoot
, with an equivalent predicate.
USDSKEL_API UsdSkelAnimQuery UsdSkelCache::GetAnimQuery | ( | const UsdSkelAnimation & | anim | ) | const |
Get an anim query corresponding to anim
.
This does not require Populate() to be called on the cache.
USDSKEL_API UsdSkelAnimQuery UsdSkelCache::GetAnimQuery | ( | const UsdPrim & | prim | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
USDSKEL_API UsdSkelSkeletonQuery UsdSkelCache::GetSkelQuery | ( | const UsdSkelSkeleton & | skel | ) | const |
Get a skel query for computing properties of skel
.
This does not require Populate() to be called on the cache.
USDSKEL_API UsdSkelSkinningQuery UsdSkelCache::GetSkinningQuery | ( | const UsdPrim & | prim | ) | const |
Get a skinning query at prim
.
Skinning queries are defined at any skinnable prims (I.e., boundable prims with fully defined joint influences).
The caller must first Populate() the cache with the skel root containing prim
, with a predicate that will visit prim
, in order for a skinning query to be discoverable.
USDSKEL_API bool UsdSkelCache::Populate | ( | const UsdSkelRoot & | root, |
Usd_PrimFlagsPredicate | predicate | ||
) | const |
Populate the cache for the skeletal data beneath prim root
, as traversed using predicate
.
Population resolves inherited skel bindings set using the UsdSkelBindingAPI, making resolved bindings available through GetSkinningQuery(), ComputeSkelBinding() and ComputeSkelBindings().
|
friend |
|
friend |