This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Skinning Implementations

Reference skinning implementations for skinning points and transforms. More...

+ Collaboration diagram for Skinning Implementations:

Functions

USDSKEL_API bool UsdSkelSkinPoints (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 Skin points using linear blend skinning (LBS) or dual quaternion skinning (DQS).
 
USDSKEL_API bool UsdSkelSkinPoints (const TfToken &skinningMethod, const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPoints (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 Skin points using linear blend skinning, with interleaved influences.
 
USDSKEL_API bool UsdSkelSkinPoints (const TfToken &skinningMethod, const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPoints (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, const VtMatrix4dArray &jointXforms, const VtIntArray &jointIndices, const VtFloatArray &jointWeights, int numInfluencesPerPoint, VtVec3fArray *points)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPoints (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, const GfMatrix4d *jointXforms, size_t numJoints, const int *jointIndices, const float *jointWeights, size_t numInfluences, int numInfluencesPerPoint, GfVec3f *points, size_t numPoints, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 Skin points using linear blend skinning, with interleaved influences.
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > points, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, const VtMatrix4dArray &jointXforms, const VtIntArray &jointIndices, const VtFloatArray &jointWeights, int numInfluencesPerPoint, VtVec3fArray *points)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinPointsLBS (const GfMatrix4d &geomBindTransform, const GfMatrix4d *jointXforms, size_t numJoints, const int *jointIndices, const float *jointWeights, size_t numInfluences, int numInfluencesPerPoint, GfVec3f *points, size_t numPoints, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinNormals (const TfToken &skinningMethod, const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 Skin normals using linear blend skinning (LBS) or dual quaternion skinning (DQS), for normals with vertex or varying interpolation.
 
USDSKEL_API bool UsdSkelSkinNormals (const TfToken &skinningMethod, const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinNormals (const TfToken &skinningMethod, const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinNormals (const TfToken &skinningMethod, const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinFaceVaryingNormals (const TfToken &skinningMethod, const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< const int > faceVertexIndices, TfSpan< GfVec3f > normals, bool inSerial=false)
 Skin normals with faceVarying interpolation using LBS or DQS.
 
USDSKEL_API bool UsdSkelSkinFaceVaryingNormals (const TfToken &skinningMethod, const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< const int > faceVertexIndices, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinNormalsLBS (const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const GfVec2f > influences, int numInfluencesPerPoint, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinFaceVaryingNormalsLBS (const GfMatrix3d &geomBindTransform, TfSpan< const GfMatrix3d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< const int > faceVertexIndices, TfSpan< GfVec3f > normals, bool inSerial=false)
 Skin normals with faceVarying interpolation using linear blend skinning.
 
USDSKEL_API bool UsdSkelSkinFaceVaryingNormalsLBS (const GfMatrix3f &geomBindTransform, TfSpan< const GfMatrix3f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, int numInfluencesPerPoint, TfSpan< const int > faceVertexIndices, TfSpan< GfVec3f > normals, bool inSerial=false)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinTransform (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, GfMatrix4d *xform)
 Skin a transform using linear blend skinning (LBS) or dual quaternion skinning (DQS).
 
USDSKEL_API bool UsdSkelSkinTransform (const TfToken &skinningMethod, const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, GfMatrix4f *xform)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinTransform (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const GfVec2f > influences, GfMatrix4d *xform)
 Overload taking interleaved joint influences.
 
USDSKEL_API bool UsdSkelSkinTransform (const TfToken &skinningMethod, const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const GfVec2f > influences, GfMatrix4f *xform)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinTransform (const TfToken &skinningMethod, const GfMatrix4d &geomBindTransform, const GfMatrix4d *jointXforms, size_t numJoints, const int *jointIndices, const float *jointWeights, size_t numInfluences, GfMatrix4d *xform)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, GfMatrix4d *xform)
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const int > jointIndices, TfSpan< const float > jointWeights, GfMatrix4f *xform)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4d &geomBindTransform, TfSpan< const GfMatrix4d > jointXforms, TfSpan< const GfVec2f > influences, GfMatrix4d *xform)
 Overload taking interleaved joint influences.
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4f &geomBindTransform, TfSpan< const GfMatrix4f > jointXforms, TfSpan< const GfVec2f > influences, GfMatrix4f *xform)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelSkinTransformLBS (const GfMatrix4d &geomBindTransform, const GfMatrix4d *jointXforms, size_t numJoints, const int *jointIndices, const float *jointWeights, size_t numInfluences, GfMatrix4d *xform)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
USDSKEL_API bool UsdSkelApplyBlendShape (const float weight, const TfSpan< const GfVec3f > offsets, const TfSpan< const int > indices, TfSpan< GfVec3f > points)
 Apply a single blend shape to points.
 

Detailed Description

Reference skinning implementations for skinning points and transforms.

Function Documentation

◆ UsdSkelApplyBlendShape()

USDSKEL_API bool UsdSkelApplyBlendShape ( const float  weight,
const TfSpan< const GfVec3f offsets,
const TfSpan< const int >  indices,
TfSpan< GfVec3f points 
)

Apply a single blend shape to points.

The shape is given as a span of offsets. If the indices span is not empty, it provides the index into the points span at which each offset should be mapped. Otherwise, the offsets span must be the same size as the points span.

◆ UsdSkelSkinFaceVaryingNormals() [1/2]

USDSKEL_API bool UsdSkelSkinFaceVaryingNormals ( const TfToken skinningMethod,
const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< const int >  faceVertexIndices,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

Skin normals with faceVarying interpolation using LBS or DQS.

◆ UsdSkelSkinFaceVaryingNormals() [2/2]

USDSKEL_API bool UsdSkelSkinFaceVaryingNormals ( const TfToken skinningMethod,
const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< const int >  faceVertexIndices,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinFaceVaryingNormalsLBS() [1/2]

USDSKEL_API bool UsdSkelSkinFaceVaryingNormalsLBS ( const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< const int >  faceVertexIndices,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

Skin normals with faceVarying interpolation using linear blend skinning.

◆ UsdSkelSkinFaceVaryingNormalsLBS() [2/2]

USDSKEL_API bool UsdSkelSkinFaceVaryingNormalsLBS ( const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< const int >  faceVertexIndices,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinNormals() [1/4]

USDSKEL_API bool UsdSkelSkinNormals ( const TfToken skinningMethod,
const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinNormals() [2/4]

USDSKEL_API bool UsdSkelSkinNormals ( const TfToken skinningMethod,
const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

Skin normals using linear blend skinning (LBS) or dual quaternion skinning (DQS), for normals with vertex or varying interpolation.

Use UsdSkelSkinFaceVaryingNormals() for normals with _faceVarying__ interpolation. The jointXforms are the inverse transposes of the 3x3 component of the UsdSkel_Term_SkinningTransforms" "skinning transforms", given in skeleton space. The geomBindTransform is the inverse transpose of the matrix that transforms points from a bind pose ino the same skeleton space that the skinning tranforms were computed in.

◆ UsdSkelSkinNormals() [3/4]

USDSKEL_API bool UsdSkelSkinNormals ( const TfToken skinningMethod,
const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinNormals() [4/4]

USDSKEL_API bool UsdSkelSkinNormals ( const TfToken skinningMethod,
const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinNormalsLBS() [1/3]

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3d geomBindTransform,
TfSpan< const GfMatrix3d jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinNormalsLBS() [2/3]

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinNormalsLBS() [3/3]

USDSKEL_API bool UsdSkelSkinNormalsLBS ( const GfMatrix3f geomBindTransform,
TfSpan< const GfMatrix3f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f normals,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinPoints() [1/6]

USDSKEL_API bool UsdSkelSkinPoints ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
const GfMatrix4d jointXforms,
size_t  numJoints,
const int *  jointIndices,
const float *  jointWeights,
size_t  numInfluences,
int  numInfluencesPerPoint,
GfVec3f points,
size_t  numPoints,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.

◆ UsdSkelSkinPoints() [2/6]

USDSKEL_API bool UsdSkelSkinPoints ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
const VtMatrix4dArray &  jointXforms,
const VtIntArray &  jointIndices,
const VtFloatArray &  jointWeights,
int  numInfluencesPerPoint,
VtVec3fArray *  points 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.

◆ UsdSkelSkinPoints() [3/6]

USDSKEL_API bool UsdSkelSkinPoints ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

Skin points using linear blend skinning, with interleaved influences.

◆ UsdSkelSkinPoints() [4/6]

USDSKEL_API bool UsdSkelSkinPoints ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

Skin points using linear blend skinning (LBS) or dual quaternion skinning (DQS).

The jointXforms are skinning transforms, given in skeleton space, while the geomBindTransform provides the transform that transforms the initial points into the same skeleton space that the skinning transforms were computed in.

◆ UsdSkelSkinPoints() [5/6]

USDSKEL_API bool UsdSkelSkinPoints ( const TfToken skinningMethod,
const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinPoints() [6/6]

USDSKEL_API bool UsdSkelSkinPoints ( const TfToken skinningMethod,
const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinPointsLBS() [1/5]

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
const GfMatrix4d jointXforms,
size_t  numJoints,
const int *  jointIndices,
const float *  jointWeights,
size_t  numInfluences,
int  numInfluencesPerPoint,
GfVec3f points,
size_t  numPoints,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.

◆ UsdSkelSkinPointsLBS() [2/5]

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
const VtMatrix4dArray &  jointXforms,
const VtIntArray &  jointIndices,
const VtFloatArray &  jointWeights,
int  numInfluencesPerPoint,
VtVec3fArray *  points 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.

◆ UsdSkelSkinPointsLBS() [3/5]

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

Skin points using linear blend skinning, with interleaved influences.

◆ UsdSkelSkinPointsLBS() [4/5]

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const GfVec2f influences,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinPointsLBS() [5/5]

USDSKEL_API bool UsdSkelSkinPointsLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
int  numInfluencesPerPoint,
TfSpan< GfVec3f points,
bool  inSerial = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinTransform() [1/5]

USDSKEL_API bool UsdSkelSkinTransform ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
const GfMatrix4d jointXforms,
size_t  numJoints,
const int *  jointIndices,
const float *  jointWeights,
size_t  numInfluences,
GfMatrix4d xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.

◆ UsdSkelSkinTransform() [2/5]

USDSKEL_API bool UsdSkelSkinTransform ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const GfVec2f influences,
GfMatrix4d xform 
)

Overload taking interleaved joint influences.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinTransform() [3/5]

USDSKEL_API bool UsdSkelSkinTransform ( const TfToken skinningMethod,
const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
GfMatrix4d xform 
)

Skin a transform using linear blend skinning (LBS) or dual quaternion skinning (DQS).

The jointXforms are skinning transforms, given in skeleton space, while the geomBindTransform provides the transform that initially places a primitive in that same skeleton space.

◆ UsdSkelSkinTransform() [4/5]

USDSKEL_API bool UsdSkelSkinTransform ( const TfToken skinningMethod,
const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const GfVec2f influences,
GfMatrix4f xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinTransform() [5/5]

USDSKEL_API bool UsdSkelSkinTransform ( const TfToken skinningMethod,
const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
GfMatrix4f xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinTransformLBS() [1/4]

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4d geomBindTransform,
const GfMatrix4d jointXforms,
size_t  numJoints,
const int *  jointIndices,
const float *  jointWeights,
size_t  numInfluences,
GfMatrix4d xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
Use form that takes TfSpan arguments.

◆ UsdSkelSkinTransformLBS() [2/4]

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4d geomBindTransform,
TfSpan< const GfMatrix4d jointXforms,
TfSpan< const GfVec2f influences,
GfMatrix4d xform 
)

Overload taking interleaved joint influences.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinTransformLBS() [3/4]

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const GfVec2f influences,
GfMatrix4f xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ UsdSkelSkinTransformLBS() [4/4]

USDSKEL_API bool UsdSkelSkinTransformLBS ( const GfMatrix4f geomBindTransform,
TfSpan< const GfMatrix4f jointXforms,
TfSpan< const int >  jointIndices,
TfSpan< const float >  jointWeights,
GfMatrix4f xform 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.