Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
dualquat Struct Reference

#include <geom.hpp>

Public Member Functions

 dualquat ()
 
 dualquat (const quat &q, const vec &p)
 
 dualquat (const quat &q)
 
 dualquat (const matrix4x3 &m)
 
dualquatmul (float k)
 
dualquatadd (const dualquat &d)
 
dualquatlerp (const dualquat &to, float t)
 
dualquatlerp (const dualquat &from, const dualquat &to, float t)
 
dualquatinvert ()
 
void mul (const dualquat &p, const dualquat &o)
 
void mul (const dualquat &o)
 
void mulorient (const quat &q)
 
void mulorient (const quat &q, const dualquat &base)
 
void normalize ()
 
void translate (const vec &p)
 
void scale (float k)
 
void fixantipodal (const dualquat &d)
 
void accumulate (const dualquat &d, float k)
 
vec transform (const vec &v) const
 
quat transform (const quat &q) const
 
vec transposedtransform (const vec &v) const
 
vec transformnormal (const vec &v) const
 
vec transposedtransformnormal (const vec &v) const
 
vec gettranslation () const
 

Public Attributes

quat real
 
quat dual
 

Constructor & Destructor Documentation

dualquat::dualquat ( )
inline

Referenced by mul(), and transposedtransform().

dualquat::dualquat ( const quat q,
const vec p 
)
inline
dualquat::dualquat ( const quat q)
inlineexplicit
dualquat::dualquat ( const matrix4x3 m)
inlineexplicit

References matrix4x3::d, dual, and real.

Member Function Documentation

void dualquat::accumulate ( const dualquat d,
float  k 
)
inline
dualquat& dualquat::add ( const dualquat d)
inline

References quat::add(), dual, and real.

Referenced by lerp(), mulorient(), and transform().

void dualquat::fixantipodal ( const dualquat d)
inline
vec dualquat::gettranslation ( ) const
inline
dualquat& dualquat::invert ( )
inline
dualquat& dualquat::lerp ( const dualquat to,
float  t 
)
inline
dualquat& dualquat::lerp ( const dualquat from,
const dualquat to,
float  t 
)
inline
dualquat& dualquat::mul ( float  k)
inline
void dualquat::mul ( const dualquat p,
const dualquat o 
)
inline

References quat::add(), dual, quat::mul(), mul(), and real.

void dualquat::mul ( const dualquat o)
inline

References dualquat(), and mul().

Referenced by mul().

void dualquat::mulorient ( const quat q)
inline
void dualquat::mulorient ( const quat q,
const dualquat base 
)
inline
void dualquat::normalize ( )
inline
void dualquat::scale ( float  k)
inline

References dual, and quat::mul().

vec dualquat::transform ( const vec v) const
inline
quat dualquat::transform ( const quat q) const
inline

References quat::mul(), and real.

vec dualquat::transformnormal ( const vec v) const
inline

References real, and quat::rotate().

Referenced by skelmodel::skeleton::calcdeviation().

void dualquat::translate ( const vec p)
inline

References dual, and real.

Referenced by skeladjustment::adjust().

vec dualquat::transposedtransform ( const vec v) const
inline

References dualquat().

vec dualquat::transposedtransformnormal ( const vec v) const
inline

References quat::invertedrotate(), and real.

Member Data Documentation

quat dualquat::dual
quat dualquat::real

The documentation for this struct was generated from the following file: