|
SYS_FORCE_INLINE | UT_DualQuaternionT ()=default |
| Trivial constructor. If called, it initializes to all zeroes. More...
|
|
| UT_DualQuaternionT (const UT_QuaternionT< T > &real, const UT_QuaternionT< T > &dual) |
| Construct from orthogonal real and dual parts. More...
|
|
| UT_DualQuaternionT (T real_qx, T real_qy, T real_qz, T real_qw, T dual_qx, T dual_qy, T dual_qz, T dual_qw) |
| Construct from components of orthogonal real and dual parts. More...
|
|
| UT_DualQuaternionT (const UT_QuaternionT< T > &r, const UT_Vector3T< T > &t) |
| Construct from rotation unit quaternion and translation vector. More...
|
|
| UT_DualQuaternionT (const UT_Matrix4T< T > &xform) |
| Construct from a transform matrix. More...
|
|
SYS_FORCE_INLINE | UT_DualQuaternionT (const UT_DualQuaternionT &dq)=default |
| Default copy constructor. More...
|
|
SYS_FORCE_INLINE
UT_DualQuaternionT< T > & | operator= (const UT_DualQuaternionT &v)=default |
| Default assignment. More...
|
|
void | updateFromXform (const UT_Matrix4T< T > &xform) |
| Assign from UT_Matrix4. More...
|
|
void | updateFromXform (const UT_Matrix3T< T > &xform) |
| Assign from UT_Matrix3. More...
|
|
void | updateFromRotTransPair (const UT_QuaternionT< T > &r, const UT_Vector3T< T > &t) |
|
void | updateFromRotTransPair (const UT_QuaternionT< T > &r, T tx, T ty, T tz) |
|
T | length2 () const |
| Methods. More...
|
|
T | length () const |
| Length. More...
|
|
void | normalize () |
| Normalizes the dual quaternion to have length of 1. More...
|
|
void | conjugate () |
| Changes dual quaternion into its conjugate. More...
|
|
void | invert () |
| Invert this dual quaternion. Does not exist if getReal() is zero. More...
|
|
void | invertNormalized () |
|
void | identity () |
| Change dual quaternion into an 0 rotation and 0 translation components. More...
|
|
void | transform (const UT_Vector3T< T > &vec, UT_Vector3T< T > &dst) const |
| Method implementations. More...
|
|
void | rotate (const UT_Vector3T< T > &vec, UT_Vector3T< T > &dst) const |
|
UT_Matrix4T< T > | convertToXform () const |
|
UT_DualQuaternionT< T > & | operator*= (T scalar) |
| Operators. More...
|
|
UT_DualQuaternionT< T > & | operator*= (const UT_DualQuaternionT< T > &dq) |
|
UT_DualQuaternionT< T > & | operator+= (const UT_DualQuaternionT< T > &dq) |
| Operator implementations. More...
|
|
UT_DualQuaternionT< T > & | operator-= (const UT_DualQuaternionT< T > &dq) |
|
bool | operator== (const UT_DualQuaternionT< T > &dq) const |
|
bool | operator!= (const UT_DualQuaternionT< T > &dq) const |
|
bool | isEqual (const UT_DualQuaternionT< T > &quat, T tol=T(SYS_FTOLERANCE)) const |
| Like operator==() but using a tolerance. More...
|
|
const T * | realData () const |
| Getters. More...
|
|
T * | realData () |
|
const T * | dualData () const |
|
T * | dualData () |
|
const UT_QuaternionT< T > & | getReal () const |
|
const UT_QuaternionT< T > & | getDual () const |
|
const UT_QuaternionT< T > & | getTranslation () const |
|
const UT_QuaternionT< T > & | getRotation () const |
|
template<typename T>
class UT_DualQuaternionT< T >
Dual quaternion class
- Note
- This class only supports the subspace of dual quaternions for use as rigid transforms. As such, its real and dual components must be orthogonal.
Definition at line 39 of file UT_DualQuaternion.h.