24 #ifndef PXR_USD_USD_SKEL_SKINNING_QUERY_H
25 #define PXR_USD_USD_SKEL_SKINNING_QUERY_H
62 const VtTokenArray& skelJointOrder,
63 const VtTokenArray& blendShapeOrder,
73 bool IsValid()
const {
return bool(_prim); }
76 explicit operator bool()
const {
return IsValid(); }
94 return _numInfluencesPerComponent;
105 return _skinningMethodAttr;
109 return _geomBindTransformAttr;
113 return _jointIndicesPrimvar;
117 return _jointWeightsPrimvar;
125 return _blendShapeTargets;
149 return _blendShapeMapper;
175 std::vector<double>* times)
const;
183 VtFloatArray* weights,
195 VtFloatArray* weights,
206 template <
typename Matrix4>
220 template <
typename Matrix4>
223 VtVec3fArray* points,
236 template <
typename Matrix4>
248 template <
typename Matrix4>
265 void _InitializeJointInfluenceBindings(
269 void _InitializeBlendShapeBindings(
274 int _numInfluencesPerComponent = 1;
286 hboost::optional<VtTokenArray> _jointOrder;
287 hboost::optional<VtTokenArray> _blendShapeOrder;
292 #endif // PXR_USD_USD_SKEL_SKINNING_QUERY_H
GLsizei GLenum const void * indices
GLdouble GLdouble GLint GLint const GLdouble * points
static constexpr UsdTimeCode Default()
USDSKEL_API bool GetBlendShapeOrder(VtTokenArray *blendShapes) const
Get the blend shapes for this skinning site, if any.
GT_API const UT_StringHolder time
const TfToken & GetInterpolation() const
const UsdRelationship & GetBlendShapeTargetsRel() const
GLsizei const GLchar *const * string
int GetNumInfluencesPerComponent() const
USDSKEL_API float ComputeExtentsPadding(const VtArray< Matrix4 > &skelRestXforms, const UsdGeomBoundable &boundable) const
const UsdAttribute & GetBlendShapesAttr() const
bool IsValid() const
Returns true if this query is valid.
USDSKEL_API TfToken GetSkinningMethod() const
const UsdAttribute & GetGeomBindTransformAttr() const
const UsdGeomPrimvar & GetJointWeightsPrimvar() const
USDSKEL_API std::string GetDescription() const
const UsdGeomPrimvar & GetJointIndicesPrimvar() const
USDSKEL_API bool ComputeVaryingJointInfluences(size_t numPoints, VtIntArray *indices, VtFloatArray *weights, UsdTimeCode time=UsdTimeCode::Default()) const
const UsdSkelAnimMapperRefPtr & GetBlendShapeMapper() const
std::shared_ptr< class UsdSkelAnimMapper > UsdSkelAnimMapperRefPtr
USDSKEL_API bool ComputeSkinnedNormals(const VtArray< Matrix4 > &xforms, VtVec3fArray *points, UsdTimeCode time=UsdTimeCode::Default()) const
USDSKEL_API bool IsRigidlyDeformed() const
USDSKEL_API GfMatrix4d GetGeomBindTransform(UsdTimeCode time=UsdTimeCode::Default()) const
const UsdAttribute & GetSkinningMethodAttr() const
USDSKEL_API bool ComputeJointInfluences(VtIntArray *indices, VtFloatArray *weights, UsdTimeCode time=UsdTimeCode::Default()) const
USDSKEL_API bool GetTimeSamplesInInterval(const GfInterval &interval, std::vector< double > *times) const
USDSKEL_API bool ComputeSkinnedPoints(const VtArray< Matrix4 > &xforms, VtVec3fArray *points, UsdTimeCode time=UsdTimeCode::Default()) const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
USDSKEL_API bool ComputeSkinnedTransform(const VtArray< Matrix4 > &xforms, Matrix4 *xform, UsdTimeCode time=UsdTimeCode::Default()) const
USDSKEL_API bool HasJointInfluences() const
Returns true if joint influence data is associated with this prim.
#define PXR_NAMESPACE_CLOSE_SCOPE
const UsdSkelAnimMapperRefPtr & GetJointMapper() const
USDSKEL_API bool GetTimeSamples(std::vector< double > *times) const
USDSKEL_API bool HasBlendShapes() const
Returns true if there are blend shapes associated with this prim.
const UsdPrim & GetPrim() const
const UsdSkelAnimMapperRefPtr & GetMapper() const
USDSKEL_API bool GetJointOrder(VtTokenArray *jointOrder) const
Get the custom joint order for this skinning site, if any.
USDSKEL_API UsdSkelSkinningQuery()