Loading...
Searching...
No Matches
UsdSkelCache Class Reference

Thread-safe cache for accessing query objects for evaluating skeletal data. More...

#include <cache.h>

Public Member Functions

USDSKEL_API void Clear ()
 
USDSKEL_API bool Populate (const UsdSkelRoot &root, Usd_PrimFlagsPredicate predicate) const
 Populate the cache for the skeletal data beneath prim root, as traversed using predicate.
 
USDSKEL_API UsdSkelSkeletonQuery GetSkelQuery (const UsdSkelSkeleton &skel) const
 Get a skel query for computing properties of skel.
 
USDSKEL_API UsdSkelAnimQuery GetAnimQuery (const UsdSkelAnimation &anim) const
 Get an anim query corresponding to anim.
 
USDSKEL_API UsdSkelAnimQuery 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 UsdSkelSkinningQuery GetSkinningQuery (const UsdPrim &prim) const
 Get a skinning query at prim.
 
USDSKEL_API bool 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.
 
USDSKEL_API bool 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.
 

Friends

class UsdSkelAnimQuery
 
class UsdSkelSkeletonQuery
 

Detailed Description

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.

Definition at line 57 of file cache.h.

Member Function Documentation

◆ ComputeSkelBinding()

USDSKEL_API bool 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.

◆ ComputeSkelBindings()

USDSKEL_API bool 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.

◆ GetAnimQuery() [1/2]

USDSKEL_API UsdSkelAnimQuery 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.

Deprecated:

◆ GetAnimQuery() [2/2]

USDSKEL_API UsdSkelAnimQuery GetAnimQuery ( const UsdSkelAnimation anim) const

Get an anim query corresponding to anim.

This does not require Populate() to be called on the cache.

◆ GetSkelQuery()

USDSKEL_API UsdSkelSkeletonQuery 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.

◆ GetSkinningQuery()

USDSKEL_API UsdSkelSkinningQuery 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.

◆ Populate()

USDSKEL_API bool 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().

Friends And Related Function Documentation

◆ UsdSkelAnimQuery

friend class UsdSkelAnimQuery
friend

Definition at line 128 of file cache.h.

◆ UsdSkelSkeletonQuery

friend class UsdSkelSkeletonQuery
friend

Definition at line 129 of file cache.h.


The documentation for this class was generated from the following file: