7#ifndef PXR_USD_USD_SKEL_SKELETON_QUERY_H
8#define PXR_USD_USD_SKEL_SKELETON_QUERY_H
13#include "pxr/usd/usdSkel/api.h"
24PXR_NAMESPACE_OPEN_SCOPE
59 bool IsValid()
const {
return _definition; }
62 explicit operator bool()
const {
return IsValid(); }
68 return lhs._definition == rhs._definition &&
69 lhs._animQuery == rhs._animQuery;
131 template <
typename Matrix4>
135 bool atRest=
false)
const;
142 template <
typename Matrix4>
146 bool atRest=
false)
const;
154 template <
typename Matrix4>
166 template <
typename Matrix4>
170 bool atRest=
false)
const;
181 template <
typename Matrix4>
187 template <
typename Matrix4>
192 std::string GetDescription()
const;
200 bool _HasMappableAnim()
const;
202 template <
typename Matrix4>
205 bool atRest=
false)
const;
207 template <
typename Matrix4>
210 bool atRest=
false)
const;
212 template <
typename Matrix4>
217 UsdSkel_SkelDefinitionRefPtr _definition;
219 UsdSkelAnimMapper _animToSkelMapper;
221 friend class UsdSkel_CacheImpl;
225PXR_NAMESPACE_CLOSE_SCOPE
Defines all the types "TYPED" for which Vt creates a VtTYPEDArray typedef.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Class providing efficient queries of primitives that provide skel animation.
Primary interface to reading bound skeleton data.
USDSKEL_API bool ComputeJointWorldTransforms(VtArray< Matrix4 > *xforms, UsdGeomXformCache *xfCache, bool atRest=false) const
Compute joint transforms in world space, at whatever time is configured on xfCache.
USDSKEL_API bool ComputeJointRestRelativeTransforms(VtArray< Matrix4 > *xforms, UsdTimeCode time) const
Compute joint transforms which, when concatenated against the rest pose, produce joint transforms in ...
USDSKEL_API bool ComputeJointLocalTransforms(VtArray< Matrix4 > *xforms, UsdTimeCode time, bool atRest=false) const
Compute joint transforms in joint-local space, at time.
USDSKEL_API bool HasRestPose() const
Returns true if the size of the array returned by skeleton::GetRestTransformsAttr() matches the numbe...
USDSKEL_API const UsdSkelAnimMapper & GetMapper() const
Returns a mapper for remapping from the bound animation, if any, to the Skeleton.
USDSKEL_API bool ComputeJointSkelTransforms(VtArray< Matrix4 > *xforms, UsdTimeCode time, bool atRest=false) const
Compute joint transforms in skeleton space, at time.
USDSKEL_API const UsdSkelTopology & GetTopology() const
Returns the topology of the bound skeleton instance, if any.
friend bool operator!=(const UsdSkelSkeletonQuery &lhs, const UsdSkelSkeletonQuery &rhs)
Inequality comparison.
USDSKEL_API bool GetJointWorldBindTransforms(VtArray< Matrix4 > *xforms) const
Returns the world space joint transforms at bind time.
USDSKEL_API const UsdSkelSkeleton & GetSkeleton() const
Returns the bound skeleton instance, if any.
USDSKEL_API VtTokenArray GetJointOrder() const
Returns an array of joint paths, given as tokens, describing the order and parent-child relationships...
USDSKEL_API UsdPrim GetPrim() const
Returns the underlying Skeleton primitive corresponding to the bound skeleton instance,...
bool IsValid() const
Return true if this query is valid.
USDSKEL_API bool ComputeSkinningTransforms(VtArray< Matrix4 > *xforms, UsdTimeCode time) const
Compute transforms representing the change in transformation of a joint from its rest pose,...
USDSKEL_API bool HasBindPose() const
Returns true if the size of the array returned by skeleton::GetBindTransformsAttr() matches the numbe...
friend bool operator==(const UsdSkelSkeletonQuery &lhs, const UsdSkelSkeletonQuery &rhs)
Equality comparison.
USDSKEL_API const UsdSkelAnimQuery & GetAnimQuery() const
Returns the animation query that provides animation for the bound skeleton instance,...
Object holding information describing skeleton topology.
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Represents an arbitrary dimensional rectangular container class.
Standard pointer typedefs.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.