Biomechanical Joint Model
 Author: Anderson Maciel

Quaternion Class Reference

#include <quaternion.h>

List of all members.

Public Member Functions

 Quaternion ()
 Quaternion (const double, const double=0.0, const double=0.0, const double=0.0)
const Quaternionoperator *= (const Quaternion &)
const Quaternionoperator~ ()
const Quaternionoperator- ()
const QuaternionNormalize ()
const QuaternionFromAxis (const double, double, double, double)
void ToMatrix (double matrix[3][3]) const
void Slerp (const Quaternion &, const Quaternion &, const double)
const Quaternionexp ()
const Quaternionlog ()
void makeFromVecs (COME_Vector3D vec1, COME_Vector3D vec2)
void setAxisAngle (double axis_angle[])
void setAxisAngle (COME_Vector3D axis, double angle)

Private Attributes

double W
double X
double Y
double Z

Friends

Quaternion operator * (const Quaternion &, const Quaternion &)


Detailed Description

Definition at line 23 of file quaternion.h.


Constructor & Destructor Documentation

Quaternion::Quaternion  ) 
 

Definition at line 13 of file quaternion.cpp.

References W, X, Y, and Z.

Quaternion::Quaternion const   double,
const   double = 0.0,
const   double = 0.0,
const   double = 0.0
 

Definition at line 21 of file quaternion.cpp.

References W, X, Y, and Z.


Member Function Documentation

const Quaternion & Quaternion::exp  ) 
 

Definition at line 204 of file quaternion.cpp.

References W, X, Y, and Z.

const Quaternion & Quaternion::FromAxis const   double,
double  ,
double  ,
double 
 

Definition at line 102 of file quaternion.cpp.

References Normalize(), W, X, Y, and Z.

Here is the call graph for this function:

const Quaternion& Quaternion::log  ) 
 

void Quaternion::makeFromVecs COME_Vector3D  vec1,
COME_Vector3D  vec2
 

Definition at line 297 of file quaternion.cpp.

References PI, setAxisAngle(), COME_Point3D::setXYZ(), COME_Vector3D::vpCrossProduct(), COME_Vector3D::vpDotProduct(), COME_Vector3D::vpNormalize(), W, X, Y, and Z.

Referenced by COME_Molecule::makeLocalFrame().

Here is the call graph for this function:

const Quaternion & Quaternion::Normalize  ) 
 

Definition at line 82 of file quaternion.cpp.

References W, X, Y, and Z.

Referenced by FromAxis().

const Quaternion & Quaternion::operator *= const Quaternion  ) 
 

Definition at line 43 of file quaternion.cpp.

References W, X, Y, and Z.

const Quaternion & Quaternion::operator-  ) 
 

Definition at line 66 of file quaternion.cpp.

References W, X, Y, and Z.

const Quaternion & Quaternion::operator~  ) 
 

Definition at line 58 of file quaternion.cpp.

References X, Y, and Z.

void Quaternion::setAxisAngle COME_Vector3D  axis,
double  angle
 

Definition at line 244 of file quaternion.cpp.

References setAxisAngle(), COME_Point3D::x, COME_Point3D::y, and COME_Point3D::z.

Here is the call graph for this function:

void Quaternion::setAxisAngle double  axis_angle[]  ) 
 

Definition at line 255 of file quaternion.cpp.

References W, X, Y, and Z.

Referenced by makeFromVecs(), and setAxisAngle().

void Quaternion::Slerp const Quaternion ,
const Quaternion ,
const   double
 

Definition at line 154 of file quaternion.cpp.

References PI, W, X, Y, and Z.

void Quaternion::ToMatrix double  matrix[3][3]  )  const
 

Definition at line 138 of file quaternion.cpp.

References W, X, Y, and Z.

Referenced by COME_Molecule::makeLocalFrame().


Friends And Related Function Documentation

Quaternion operator * const Quaternion a,
const Quaternion b
[friend]
 

Definition at line 30 of file quaternion.cpp.


Member Data Documentation

double Quaternion::W [private]
 

Definition at line 26 of file quaternion.h.

Referenced by exp(), FromAxis(), makeFromVecs(), Normalize(), operator *(), operator *=(), operator-(), Quaternion(), setAxisAngle(), Slerp(), and ToMatrix().

double Quaternion::X [private]
 

Definition at line 26 of file quaternion.h.

Referenced by exp(), FromAxis(), makeFromVecs(), Normalize(), operator *(), operator *=(), operator-(), operator~(), Quaternion(), setAxisAngle(), Slerp(), and ToMatrix().

double Quaternion::Y [private]
 

Definition at line 26 of file quaternion.h.

Referenced by exp(), FromAxis(), makeFromVecs(), Normalize(), operator *(), operator *=(), operator-(), operator~(), Quaternion(), setAxisAngle(), Slerp(), and ToMatrix().

double Quaternion::Z [private]
 

Definition at line 26 of file quaternion.h.

Referenced by exp(), FromAxis(), makeFromVecs(), Normalize(), operator *(), operator *=(), operator-(), operator~(), Quaternion(), setAxisAngle(), Slerp(), and ToMatrix().


The documentation for this class was generated from the following files:
Generated on Thu Dec 1 10:14:33 2005 for COME - Biomechanical Joint Model by  doxygen 1.4.5