23 #ifndef _deQuaternion_inl
24 #define _deQuaternion_inl
38 DE_MATH_API
void deQuaternion::set(
const deInt axis,
const deFloat angle) { deSetQ4S2(_data, axis, angle); }
40 DE_MATH_API
void deQuaternion::set(
const deFloat x,
const deFloat y,
const deFloat z,
const deFloat w) { deSetQ4S4(_data, x, y, z, w); }
55 #endif // _deQuaternion_inl
DE_MATH_API void zero()
this = (0, 0, 0, 0)
Definition: TaoDeQuaternionInl.h:34
3x1 vector classThis is a C++ wrapper class of deVector3f.
Definition: TaoDeVector3.h:32
DE_MATH_API void eulerZYX(const deVector3 &v)
this = [x, y, z] = ZYX Euler angles
Definition: TaoDeQuaternionInl.h:42
DE_MATH_API void operator-=(const deQuaternion &q)
this[i] -= q[i]
Definition: TaoDeQuaternionInl.h:31
DE_MATH_API deFloat dot(const deQuaternion &q)
return this^T * q
Definition: TaoDeQuaternionInl.h:27
DE_MATH_API void operator*=(const deFloat s)
this[i] *= s
Definition: TaoDeQuaternionInl.h:32
DE_MATH_API void operator=(const deQuaternion &q)
this = q
Definition: TaoDeQuaternionInl.h:29
DE_MATH_API void inversedMultiply(const deQuaternion &q1, const deQuaternion &q2)
this = q1^-1 * q2
Definition: TaoDeQuaternionInl.h:48
DE_MATH_API void slerp(const deQuaternion &q, const deQuaternion &qg, const deFloat t, const deFloat addedSpins)
this = SLERP (spherical linear interpolation with extra spins)
Definition: TaoDeQuaternionInl.h:52
DE_MATH_API void lerp(const deQuaternion &q, const deQuaternion &qg, const deFloat t)
this = q + t * (qg - q)
Definition: TaoDeQuaternionInl.h:53
DE_MATH_API void negate(const deQuaternion &q)
this = -q
Definition: TaoDeQuaternionInl.h:43
Quaternion classThis is a C++ wrapper class of deQuaternionf.
Definition: TaoDeQuaternion.h:35
DE_MATH_API void get(deVector3 &axis, deFloat &angle) const
convert to axis-angle notation
Definition: TaoDeQuaternionInl.h:36
DE_MATH_API void identity()
this = (0, 0, 0, 1)
Definition: TaoDeQuaternionInl.h:33
DE_MATH_API void normalize()
this[i] *= (1 / sqrt(this^T * this))
Definition: TaoDeQuaternionInl.h:35
DE_MATH_API void multiply(const deQuaternion &q1, const deQuaternion &q2)
this = q1 * q2
Definition: TaoDeQuaternionInl.h:47
DE_MATH_API void subtract(const deQuaternion &q1, const deQuaternion &q2)
this = q1 - q2
Definition: TaoDeQuaternionInl.h:46
3x3 matrix classThis is a C++ wrapper class of deMatrix3f.
Definition: TaoDeMatrix3.h:33
DE_MATH_API void consistentSign(const deQuaternion &q, const deQuaternion &qg)
this = converted qg sign consitent to q
Definition: TaoDeQuaternionInl.h:51
DE_MATH_API deInt operator==(const deQuaternion &q)
Definition: TaoDeQuaternionInl.h:26
DE_MATH_API void add(const deQuaternion &q1, const deQuaternion &q2)
this = q1 + q2
Definition: TaoDeQuaternionInl.h:45
DE_MATH_API void operator+=(const deQuaternion &q)
this[i] += q[i]
Definition: TaoDeQuaternionInl.h:30
DE_MATH_API void multiplyInversed(const deQuaternion &q1, const deQuaternion &q2)
this = q1 * q2^-1
Definition: TaoDeQuaternionInl.h:49
DE_MATH_API void inverse(const deQuaternion &q)
this = q^-1
Definition: TaoDeQuaternionInl.h:44
DE_MATH_API void velocity(const deQuaternion &q, const deVector3 &omega)
this = dq
Definition: TaoDeQuaternionInl.h:50
DE_MATH_API void set(const deMatrix3 &m)
this = m
Definition: TaoDeQuaternionInl.h:37