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
Transform Composition Utils

Utiltiies for converting transforms to and from component (translate, rotate, scale) form. More...

+ Collaboration diagram for Transform Composition Utils:

Functions

template<typename Matrix4 >
USDSKEL_API bool UsdSkelDecomposeTransform (const Matrix4 &xform, GfVec3f *translate, GfRotation *rotate, GfVec3h *scale)
 Decompose a transform into translate/rotate/scale components.
 
template<typename Matrix4 >
USDSKEL_API bool UsdSkelDecomposeTransform (const Matrix4 &xform, GfVec3f *translate, GfQuatf *rotate, GfVec3h *scale)
 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 UsdSkelDecomposeTransforms (TfSpan< const GfMatrix4d > xforms, TfSpan< GfVec3f > translations, TfSpan< GfQuatf > rotations, TfSpan< GfVec3h > scales)
 Decompose an array of transforms into translate/rotate/scale components.
 
USDSKEL_API bool UsdSkelDecomposeTransforms (TfSpan< const GfMatrix4f > xforms, TfSpan< GfVec3f > translations, TfSpan< GfQuatf > rotations, TfSpan< GfVec3h > scales)
 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 UsdSkelDecomposeTransforms (const VtMatrix4dArray &xforms, VtVec3fArray *translations, VtQuatfArray *rotations, VtVec3hArray *scales)
 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 UsdSkelDecomposeTransforms (const GfMatrix4d *xforms, GfVec3f *translations, GfQuatf *rotations, GfVec3h *scales, size_t count)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename Matrix4 >
USDSKEL_API void UsdSkelMakeTransform (const GfVec3f &translate, const GfMatrix3f &rotate, const GfVec3h &scale, Matrix4 *xform)
 Create a transform from translate/rotate/scale components.
 
template<typename Matrix4 >
USDSKEL_API void UsdSkelMakeTransform (const GfVec3f &translate, const GfQuatf &rotate, const GfVec3h &scale, Matrix4 *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 UsdSkelMakeTransforms (TfSpan< const GfVec3f > translations, TfSpan< const GfQuatf > rotations, TfSpan< const GfVec3h > scales, TfSpan< GfMatrix4d > xforms)
 Create transforms from arrays of components.
 
USDSKEL_API bool UsdSkelMakeTransforms (TfSpan< const GfVec3f > translations, TfSpan< const GfQuatf > rotations, TfSpan< const GfVec3h > scales, TfSpan< GfMatrix4f > xforms)
 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 UsdSkelMakeTransforms (const VtVec3fArray &translations, const VtQuatfArray &rotations, const VtVec3hArray &scales, VtMatrix4dArray *xforms)
 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 UsdSkelMakeTransforms (const GfVec3f *translations, const GfQuatf *rotations, const GfVec3h *scales, GfMatrix4d *xforms, size_t count)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 

Detailed Description

Utiltiies for converting transforms to and from component (translate, rotate, scale) form.

Function Documentation

◆ UsdSkelDecomposeTransform() [1/2]

USDSKEL_API bool UsdSkelDecomposeTransform ( const Matrix4 &  xform,
GfVec3f translate,
GfQuatf rotate,
GfVec3h scale 
)

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

◆ UsdSkelDecomposeTransform() [2/2]

USDSKEL_API bool UsdSkelDecomposeTransform ( const Matrix4 &  xform,
GfVec3f translate,
GfRotation rotate,
GfVec3h scale 
)

Decompose a transform into translate/rotate/scale components.

The transform order for decomposition is scale, rotate, translate.

◆ UsdSkelDecomposeTransforms() [1/4]

USDSKEL_API bool UsdSkelDecomposeTransforms ( const GfMatrix4d xforms,
GfVec3f translations,
GfQuatf rotations,
GfVec3h scales,
size_t  count 
)

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.

◆ UsdSkelDecomposeTransforms() [2/4]

USDSKEL_API bool UsdSkelDecomposeTransforms ( const VtMatrix4dArray &  xforms,
VtVec3fArray *  translations,
VtQuatfArray *  rotations,
VtVec3hArray *  scales 
)

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.

◆ UsdSkelDecomposeTransforms() [3/4]

USDSKEL_API bool UsdSkelDecomposeTransforms ( TfSpan< const GfMatrix4d xforms,
TfSpan< GfVec3f translations,
TfSpan< GfQuatf rotations,
TfSpan< GfVec3h scales 
)

Decompose an array of transforms into translate/rotate/scale components.

All spans must be the same size.

◆ UsdSkelDecomposeTransforms() [4/4]

USDSKEL_API bool UsdSkelDecomposeTransforms ( TfSpan< const GfMatrix4f xforms,
TfSpan< GfVec3f translations,
TfSpan< GfQuatf rotations,
TfSpan< GfVec3h scales 
)

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

◆ UsdSkelMakeTransform() [1/2]

USDSKEL_API void UsdSkelMakeTransform ( const GfVec3f translate,
const GfMatrix3f rotate,
const GfVec3h scale,
Matrix4 *  xform 
)

Create a transform from translate/rotate/scale components.

This performs the inverse of UsdSkelDecomposeTransform.

◆ UsdSkelMakeTransform() [2/2]

USDSKEL_API void UsdSkelMakeTransform ( const GfVec3f translate,
const GfQuatf rotate,
const GfVec3h scale,
Matrix4 *  xform 
)

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

◆ UsdSkelMakeTransforms() [1/4]

USDSKEL_API bool UsdSkelMakeTransforms ( const GfVec3f translations,
const GfQuatf rotations,
const GfVec3h scales,
GfMatrix4d xforms,
size_t  count 
)

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.

◆ UsdSkelMakeTransforms() [2/4]

USDSKEL_API bool UsdSkelMakeTransforms ( const VtVec3fArray &  translations,
const VtQuatfArray &  rotations,
const VtVec3hArray &  scales,
VtMatrix4dArray *  xforms 
)

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.

◆ UsdSkelMakeTransforms() [3/4]

USDSKEL_API bool UsdSkelMakeTransforms ( TfSpan< const GfVec3f translations,
TfSpan< const GfQuatf rotations,
TfSpan< const GfVec3h scales,
TfSpan< GfMatrix4d xforms 
)

Create transforms from arrays of components.

All spans must be the same size.

◆ UsdSkelMakeTransforms() [4/4]

USDSKEL_API bool UsdSkelMakeTransforms ( TfSpan< const GfVec3f translations,
TfSpan< const GfQuatf rotations,
TfSpan< const GfVec3h scales,
TfSpan< GfMatrix4f xforms 
)

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