QuatTS_tpl

#include

Public Member Functions

ILINE QuatTS_tpl (const Quat_tpl< F > &quat, const Vec3_tpl< F > &trans, F scale=1)
ILINE QuatTS_tpl (type_identity)
ILINE QuatTS_tpl (const QuatT_tpl< F > &qp)
ILINE void SetIdentity ()
ILINE QuatTS_tpl (const Matrix34_tpl< F > &m)
void Invert ()
QuatTS_tpl< F > GetInverted () const
ILINE void SetNLerp (const QuatTS_tpl< F > &p, const QuatTS_tpl< F > &tq, F ti)
bool IsValid (f32 e=VEC_EPSILON) const
ILINE Vec3_tpl< F > GetColumn0 () const
ILINE Vec3_tpl< F > GetColumn1 () const
ILINE Vec3_tpl< F > GetColumn2 () const
ILINE Vec3_tpl< F > GetColumn3 () const
ILINE Vec3_tpl< F > GetRow0 () const
ILINE Vec3_tpl< F > GetRow1 () const
ILINE Vec3_tpl< F > GetRow2 () const

Static Public Member Functions

static ILINE QuatTS_tpl< F > CreateNLerp (const QuatTS_tpl< F > &p, const QuatTS_tpl< F > &q, F t)
static ILINE bool IsEquivalent (const QuatTS_tpl< F > &qts1, const QuatTS_tpl< F > &qts2, f32 qe=RAD_EPSILON, f32 ve=VEC_EPSILON)

Public Attributes

Quat_tpl< F > q
Vec3_tpl< F > t
F s
AUTO_STRUCT_INFO

Detailed Description

template struct QuatTS_tpl< F >

Quaternion with translation vector and scale. Similar to QuatT, but s is not ignored. Most functions then differ, so we don't inherit.

Constructor & Destructor Documentation

◆ QuatTS_tpl()

template
ILINE QuatTS_tpl< F >::QuatTS_tpl ( const Matrix34_tpl< F > & m)
inline
explicit

Orthonormalize using X and Z as anchors.

Member Function Documentation

◆ SetNLerp()

template
ILINE void QuatTS_tpl< F >::SetNLerp ( const QuatTS_tpl< F > & p,
const QuatTS_tpl< F > & tq,
F ti
)
inline

Linear-interpolation between quaternions (nlerp). Example: CQuaternion result,p,q; result=qlerp( p, q, 0.5f );