HDK
|
#include "UT_API.h"
#include "UT_Array.h"
#include "UT_Assert.h"
#include "UT_Matrix3.h"
#include "UT_Matrix4.h"
#include "UT_Quaternion.h"
#include "UT_SmallArray.h"
#include "UT_Vector3.h"
#include "UT_Vector4.h"
#include <SYS/SYS_Math.h>
Go to the source code of this file.
Enumerations | |
enum | UT_ScaleInheritanceMode { UT_ScaleInheritanceMode::DEFAULT = 0, UT_ScaleInheritanceMode::OFFSET_ONLY, UT_ScaleInheritanceMode::OFFSET_AND_SCALE, UT_ScaleInheritanceMode::SCALE_ONLY, UT_ScaleInheritanceMode::IGNORE_PARENT_LOCAL } |
Scale inheritance modes. More... | |
enum | UT_SLERP_METHOD { UT_SLERP_METHOD::NLERP, UT_SLERP_METHOD::ACCURATE } |
Method of slerp for blending. More... | |
enum | UT_SLERP_FLIP_METHOD { UT_SLERP_FLIP_METHOD::FIRST, UT_SLERP_FLIP_METHOD::SUCCESSIVE } |
Flip method for slerp to ensure consistency during blending. More... | |
Functions | |
template<typename PREC > | |
UT_Matrix4T< PREC > | UTtransformCombineLocal (const UT_Matrix4T< PREC > &L, const UT_Matrix4T< PREC > &pW, const UT_Matrix4T< PREC > &pL, UT_ScaleInheritanceMode mode=UT_ScaleInheritanceMode::DEFAULT, UT_Matrix4T< PREC > *effective_local=nullptr) |
template<typename PREC > | |
UT_Matrix4T< PREC > | UTtransformExtractLocal (const UT_Matrix4T< PREC > &W, const UT_Matrix4T< PREC > &pW, const UT_Matrix4T< PREC > &pL, UT_ScaleInheritanceMode mode=UT_ScaleInheritanceMode::DEFAULT, UT_Matrix4T< PREC > *effective_local=nullptr) |
Extract relative transform with scale inheritance. More... | |
template<typename PREC , bool NORMALIZE_WEIGHTS = true, UT_SLERP_METHOD METHOD = UT_SLERP_METHOD::ACCURATE, UT_SLERP_FLIP_METHOD FLIP_METHOD = UT_SLERP_FLIP_METHOD::SUCCESSIVE> | |
UT_Matrix4T< PREC > | UTslerp (const UT_Array< UT_Matrix4T< PREC >> &xforms, const UT_Array< PREC > &input_weights) |
Spherically blend transforms by decomposing into separate quaternions. More... | |
Additional utilities for dealing with transforms
Definition in file UT_TransformUtil.h.
|
strong |
Scale inheritance modes.
Definition at line 29 of file UT_TransformUtil.h.
|
strong |
Flip method for slerp to ensure consistency during blending.
Enumerator | |
---|---|
FIRST | |
SUCCESSIVE |
use hemisphere of first quaternion |
Definition at line 82 of file UT_TransformUtil.h.
|
strong |
Method of slerp for blending.
Enumerator | |
---|---|
NLERP | |
ACCURATE |
normalized lerp of quaternion |
Definition at line 75 of file UT_TransformUtil.h.
|
inline |
Spherically blend transforms by decomposing into separate quaternions.
Definition at line 329 of file UT_TransformUtil.h.
|
inline |
Combine a local transform on top of another with scale inheritance options L is modified to contain the effective local transform on return for t.
pW | local transform |
pL | parent world transform |
mode | parent local transform |
Definition at line 107 of file UT_TransformUtil.h.
|
inline |
Extract relative transform with scale inheritance.
pW | source world transform |
pL | target parent world |
mode | target parent local |
Definition at line 200 of file UT_TransformUtil.h.