Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

mlib::Wquat Class Reference

A quaternion in World coordinates. More...

#include <points.H>

Inheritance diagram for mlib::Wquat:

Inheritance graph
[legend]
Collaboration diagram for mlib::Wquat:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Quat ()
 Default constructor. Creates a quaternion with a unit scalar component and a default constructed vector component.
 Quat (const Wvec &v, double w)
 Constructor that creates a quaternion with the scalar and vector components specified in the arguments.
 Quat (double w)
 Constructor that creates a quaternion with the specifeed scalar component and a default constructed vector component.
 Quat (const Wvec &v)
 Constructor that creates a quaternion with the specified vector component and a zero scalar component.
 Quat (const Wtransf &t)
 Create quaternion from rotation matrix.
 Quat (const Wvec &v1, const Wvec &v2)
 Create quaternion to rotate from v1 to v2.
const Wvec & v () const
 Accesses the vector component.
Wvec & v ()
 Accesses the vector component.
double w () const
 Accesses the scalar component.
double & w ()
 Accesses the scalar component.
double norm () const
Wquat conjugate () const
Wquat inverse () const
Wquat normalized () const
double dot (const Wquat &q) const
Wquat operator+ (Wquatq) const
Wquat operator * (Wquatq) const
Wquat operator * (double s) const
Wquat operator/ (Wquatq) const
Wquat operator/ (double s) const
Constructors
 Wquat ()
 Wquat (CWvec &v, double w)
 Wquat (double s)
 Wquat (CWtransf &t)
 Wquat (CWvec &v1, CWvec &v2)

Static Public Member Functions

static Wquat slerp (const Wquat &q1, const Wquat &q2, double u)
 Spherical linear interpolation.

Protected Attributes

Wvec _v
double _w

Friends

Wquat operator * (double s, const Wquat &q)
Wquat operator- (const Wquat &q)

Detailed Description

A quaternion in World coordinates.

Definition at line 498 of file points.H.


Constructor & Destructor Documentation

mlib::Wquat::Wquat (   )  [inline]
 

Definition at line 506 of file points.H.

mlib::Wquat::Wquat (  CWvec &  v,
double  w
)  [inline]
 

Definition at line 507 of file points.H.

mlib::Wquat::Wquat (  double  s  )  [inline]
 

Definition at line 509 of file points.H.

mlib::Wquat::Wquat (  CWtransf &  t  )  [inline]
 

Definition at line 511 of file points.H.

mlib::Wquat::Wquat (  CWvec &  v1,
CWvec &  v2
)  [inline]
 

Definition at line 513 of file points.H.


Member Function Documentation

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::conjugate (   )  const [inline, inherited]
 

Definition at line 87 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::_v, and mlib::Quat< QUAT, M, P, V, L >::_w.

double mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::dot (  const Wquat &  q  )  const [inline, inherited]
 

Definition at line 93 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::v(), and mlib::Quat< QUAT, M, P, V, L >::w().

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::inverse (   )  const [inline, inherited]
 

Definition at line 89 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::conjugate(), and mlib::Quat< QUAT, M, P, V, L >::norm().

double mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::norm (   )  const [inline, inherited]
 

Definition at line 85 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::_v, and mlib::Quat< QUAT, M, P, V, L >::_w.

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::normalized (   )  const [inline, inherited]
 

Definition at line 91 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::norm().

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::operator * (  double  s  )  const [inline, inherited]
 

Definition at line 113 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::v(), and mlib::Quat< QUAT, M, P, V, L >::w().

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::operator * (  Wquat   q  )  const [inline, inherited]
 

Definition at line 102 of file quat.H.

References mlib::cross(), mlib::Quat< QUAT, M, P, V, L >::v(), and mlib::Quat< QUAT, M, P, V, L >::w().

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::operator+ (  Wquat   q  )  const [inline, inherited]
 

Definition at line 100 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::v(), and mlib::Quat< QUAT, M, P, V, L >::w().

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::operator/ (  double  s  )  const [inline, inherited]
 

Definition at line 114 of file quat.H.

Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::operator/ (  Wquat   q  )  const [inline, inherited]
 

Definition at line 107 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::operator *().

mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::Quat (  const Wvec &  v1,
const Wvec &  v2
)  [inherited]
 

Create quaternion to rotate from v1 to v2.

mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::Quat (  const Wtransf &  t  )  [inherited]
 

Create quaternion from rotation matrix.

mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::Quat (  const Wvec &  v  )  [inline, inherited]
 

Constructor that creates a quaternion with the specified vector component and a zero scalar component.

Definition at line 58 of file quat.H.

mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::Quat (  double  w  )  [inline, inherited]
 

Constructor that creates a quaternion with the specifeed scalar component and a default constructed vector component.

Definition at line 54 of file quat.H.

mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::Quat (  const Wvec &  v,
double  w
)  [inline, inherited]
 

Constructor that creates a quaternion with the scalar and vector components specified in the arguments.

Definition at line 50 of file quat.H.

mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::Quat (   )  [inline, inherited]
 

Default constructor. Creates a quaternion with a unit scalar component and a default constructed vector component.

This most likely creates a zero vector as the vector component. So, the quaternion should be the identity quaternion.

Definition at line 46 of file quat.H.

static Wquat mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::slerp (  const Wquat &  q1,
const Wquat &  q2,
double  u
)  [static, inherited]
 

Spherical linear interpolation.

Wvec & mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::v (   )  [inline, inherited]
 

Accesses the vector component.

Definition at line 74 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::_v.

const Wvec & mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::v (   )  const [inline, inherited]
 

Accesses the vector component.

Definition at line 72 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::_v.

double& mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::w (   )  [inline, inherited]
 

Accesses the scalar component.

Definition at line 78 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::_w.

double mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::w (   )  const [inline, inherited]
 

Accesses the scalar component.

Definition at line 76 of file quat.H.

References mlib::Quat< QUAT, M, P, V, L >::_w.


Friends And Related Function Documentation

Wquat operator * (  double  s,
const Wquat &  q
)  [friend, inherited]
 

Definition at line 116 of file quat.H.

Wquat operator- (  const Wquat &  q  )  [friend, inherited]
 

Definition at line 118 of file quat.H.


Member Data Documentation

Wvec mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::_v [protected, inherited]
 

Definition at line 33 of file quat.H.

double mlib::Quat< Wquat , Wtransf , Wpt , Wvec , Wline >::_w [protected, inherited]
 

Definition at line 34 of file quat.H.


The documentation for this class was generated from the following file:
Generated on Mon Sep 18 11:48:15 2006 for jot by  doxygen 1.4.4