|
Utilities for working with vectorized joint transforms. More...
Functions | |
USDSKEL_API bool | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, TfSpan< const GfMatrix4d > xforms, TfSpan< const GfMatrix4d > inverseXforms, TfSpan< GfMatrix4d > jointLocalXforms, const GfMatrix4d *rootInverseXform=nullptr) |
Compute joint transforms in joint-local space. | |
USDSKEL_API bool | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, TfSpan< const GfMatrix4f > xforms, TfSpan< const GfMatrix4f > inverseXforms, TfSpan< GfMatrix4f > jointLocalXforms, const GfMatrix4f *rootInverseXform=nullptr) |
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 | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, TfSpan< const GfMatrix4d > xforms, TfSpan< GfMatrix4d > jointLocalXforms, const GfMatrix4d *rootInverseXform=nullptr) |
Compute joint transforms in joint-local space. | |
USDSKEL_API bool | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, TfSpan< const GfMatrix4f > xforms, TfSpan< GfMatrix4f > jointLocalXforms, const GfMatrix4f *rootInverseXform=nullptr) |
USDSKEL_API bool | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, const VtMatrix4dArray &xforms, const VtMatrix4dArray &inverseXforms, VtMatrix4dArray *jointLocalXforms, const GfMatrix4d *rootInverseXform=nullptr) |
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 | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, const VtMatrix4dArray &xforms, VtMatrix4dArray *jointLocalXforms, const GfMatrix4d *rootInverseXform=nullptr) |
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 | UsdSkelComputeJointLocalTransforms (const UsdSkelTopology &topology, const GfMatrix4d *xforms, const GfMatrix4d *inverseXforms, GfMatrix4d *jointLocalXforms, const GfMatrix4d *rootInverseXform=nullptr) |
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 | UsdSkelConcatJointTransforms (const UsdSkelTopology &topology, TfSpan< const GfMatrix4d > jointLocalXforms, TfSpan< GfMatrix4d > xforms, const GfMatrix4d *rootXform=nullptr) |
Compute concatenated joint transforms. | |
USDSKEL_API bool | UsdSkelConcatJointTransforms (const UsdSkelTopology &topology, TfSpan< const GfMatrix4f > jointLocalXforms, TfSpan< GfMatrix4f > xforms, const GfMatrix4f *rootXform=nullptr) |
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 | UsdSkelConcatJointTransforms (const UsdSkelTopology &topology, const VtMatrix4dArray &jointLocalXforms, VtMatrix4dArray *xforms, const GfMatrix4d *rootXform=nullptr) |
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 | UsdSkelConcatJointTransforms (const UsdSkelTopology &topology, const GfMatrix4d *jointLocalXforms, GfMatrix4d *xforms, const GfMatrix4d *rootXform=nullptr) |
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 bool | UsdSkelComputeJointsExtent (TfSpan< const Matrix4 > joints, GfRange3f *extent, float pad=0.0f, const Matrix4 *rootXform=nullptr) |
Compute an extent from a set of skel-space joint transform. | |
USDSKEL_API bool | UsdSkelComputeJointsExtent (const VtMatrix4dArray &joints, VtVec3fArray *extent, float pad=0.0f, const GfMatrix4d *rootXform=nullptr) |
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 | UsdSkelComputeJointsExtent (const GfMatrix4d *xforms, size_t numXforms, VtVec3fArray *extent, float pad=0.0f, const GfMatrix4d *rootXform=nullptr) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Utilities for working with vectorized joint transforms.
USDSKEL_API bool UsdSkelComputeJointLocalTransforms | ( | const UsdSkelTopology & | topology, |
const GfMatrix4d * | xforms, | ||
const GfMatrix4d * | inverseXforms, | ||
GfMatrix4d * | jointLocalXforms, | ||
const GfMatrix4d * | rootInverseXform = nullptr |
||
) |
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 UsdSkelComputeJointLocalTransforms | ( | const UsdSkelTopology & | topology, |
const VtMatrix4dArray & | xforms, | ||
const VtMatrix4dArray & | inverseXforms, | ||
VtMatrix4dArray * | jointLocalXforms, | ||
const GfMatrix4d * | rootInverseXform = nullptr |
||
) |
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 UsdSkelComputeJointLocalTransforms | ( | const UsdSkelTopology & | topology, |
const VtMatrix4dArray & | xforms, | ||
VtMatrix4dArray * | jointLocalXforms, | ||
const GfMatrix4d * | rootInverseXform = nullptr |
||
) |
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 UsdSkelComputeJointLocalTransforms | ( | const UsdSkelTopology & | topology, |
TfSpan< const GfMatrix4d > | xforms, | ||
TfSpan< const GfMatrix4d > | inverseXforms, | ||
TfSpan< GfMatrix4d > | jointLocalXforms, | ||
const GfMatrix4d * | rootInverseXform = nullptr |
||
) |
Compute joint transforms in joint-local space.
Transforms are computed from xforms
, holding concatenated joint transforms, and inverseXforms
, providing the inverse of each of those transforms. The resulting local space transforms are written to jointLocalXforms
, which must be the same size as topology
. If the root joints include an additional, external transformation – eg., such as the skel local-to-world transformation – then the inverse of that transform should be passed as rootInverseXform
. If no rootInverseXform
is provided, then xform
and inverseXforms
should be based on joint transforms computed in skeleton space. Each transform array must be sized to the number of joints from topology
.
USDSKEL_API bool UsdSkelComputeJointLocalTransforms | ( | const UsdSkelTopology & | topology, |
TfSpan< const GfMatrix4d > | xforms, | ||
TfSpan< GfMatrix4d > | jointLocalXforms, | ||
const GfMatrix4d * | rootInverseXform = nullptr |
||
) |
Compute joint transforms in joint-local space.
This is a convenience overload, which computes the required inverse transforms internally.
USDSKEL_API bool UsdSkelComputeJointLocalTransforms | ( | const UsdSkelTopology & | topology, |
TfSpan< const GfMatrix4f > | xforms, | ||
TfSpan< const GfMatrix4f > | inverseXforms, | ||
TfSpan< GfMatrix4f > | jointLocalXforms, | ||
const GfMatrix4f * | rootInverseXform = nullptr |
||
) |
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 UsdSkelComputeJointsExtent | ( | const GfMatrix4d * | xforms, |
size_t | numXforms, | ||
VtVec3fArray * | extent, | ||
float | pad = 0.0f , |
||
const GfMatrix4d * | rootXform = nullptr |
||
) |
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 UsdSkelComputeJointsExtent | ( | const VtMatrix4dArray & | joints, |
VtVec3fArray * | extent, | ||
float | pad = 0.0f , |
||
const GfMatrix4d * | rootXform = nullptr |
||
) |
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 UsdSkelComputeJointsExtent | ( | TfSpan< const Matrix4 > | joints, |
GfRange3f * | extent, | ||
float | pad = 0.0f , |
||
const Matrix4 * | rootXform = nullptr |
||
) |
Compute an extent from a set of skel-space joint transform.
The rootXform
may also be set to provide an additional root transformation on top of all joints, which is useful for computing extent relative to a different space.
USDSKEL_API bool UsdSkelConcatJointTransforms | ( | const UsdSkelTopology & | topology, |
const GfMatrix4d * | jointLocalXforms, | ||
GfMatrix4d * | xforms, | ||
const GfMatrix4d * | rootXform = nullptr |
||
) |
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 UsdSkelConcatJointTransforms | ( | const UsdSkelTopology & | topology, |
const VtMatrix4dArray & | jointLocalXforms, | ||
VtMatrix4dArray * | xforms, | ||
const GfMatrix4d * | rootXform = nullptr |
||
) |
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 UsdSkelConcatJointTransforms | ( | const UsdSkelTopology & | topology, |
TfSpan< const GfMatrix4d > | jointLocalXforms, | ||
TfSpan< GfMatrix4d > | xforms, | ||
const GfMatrix4d * | rootXform = nullptr |
||
) |
Compute concatenated joint transforms.
This concatenates transforms from jointLocalXforms
, providing joint transforms in joint-local space. The resulting transforms are written to jointLocalXforms
, which must be the same size as topology
. If rootXform
is not provided, or is the identity, the resulting joint transforms will be given in skeleton space. Any additional transformations may be provided on rootXform
if an additional level of transformation – such as the skel local to world transform – are desired. Each transform array must be sized to the number of joints from topology
.
USDSKEL_API bool UsdSkelConcatJointTransforms | ( | const UsdSkelTopology & | topology, |
TfSpan< const GfMatrix4f > | jointLocalXforms, | ||
TfSpan< GfMatrix4f > | xforms, | ||
const GfMatrix4f * | rootXform = nullptr |
||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.