TUnitQuaternion Class Reference
[Math classes]

List of all members.

Public Member Functions

 TUnitQuaternion ()
 TUnitQuaternion (real x, real y, real z, real t)
void Set (real x, real y, real z, real t)
TUnitQuaternion Square (void) const
TUnitQuaternion Inverse (void) const
TUnitQuaternion SquareRoot (void) const
void Normalize (void)
TUnitComplex GetAngle (void) const
void GetAxis (TVector3 &axis) const
void GetMatrix (TVector3 &II, TVector3 &JJ, TVector3 &KK) const
void GetMatrix (TMatrix33 &m) const
void SetFromAxis (const TVector3 &axis, const TUnitComplex &angle)
void SetFromTransition (const TVector3 &PP, const TVector3 &QQ, const TVector3 &AXIS)
void SetFromTransition (const TVector3 &PP, const TVector3 &QQ)
void SetFromVirtual (const TVector2 &V1, const TVector2 &V2)
void SetFromMatrix (const TVector3 &II, const TVector3 &JJ, const TVector3 &KK)
void SetFromMatrix (const TMatrix33 &m)
void SetFromInterpolate (const real lamda, const TUnitQuaternion &q1, const TUnitQuaternion &q2)
void Transform (const TVector3 &PP, TVector3 &QQ) const
void InverseTransform (const TVector3 &PP, TVector3 &QQ) const
boolean operator== (const TUnitQuaternion &q1) const
boolean Equals (const TUnitQuaternion &q1, real32 epsilon) const
real GetX () const
real GetY () const
real GetZ () const
real GetT () const

Protected Attributes

real ft
real fx
real fy
real fz

Friends

TMCiostream & operator<< (TMCiostream &, const TUnitQuaternion &)
TMCiostream & operator>> (TMCiostream &, TUnitQuaternion &)
TUnitQuaternion operator * (const TUnitQuaternion &, const TUnitQuaternion &)

Detailed Description

Stores a rotation around an axis as a quaternion of norm one.
    void TUnitQuaternion::SetFromAxis(const TVector3& axis, const TUnitComplex& angle)
    {
        real cos, sin;
        angle.SquareRoot().GetSinCos(sin, cos);
        ft = cos;
        fx = axis[0] * sin;
        fy = axis[1] * sin;
        fz = axis[2] * sin;
    }


Constructor & Destructor Documentation

TUnitQuaternion::TUnitQuaternion (   ) 
 

TUnitQuaternion::TUnitQuaternion (  real  x,
real  y,
real  z,
real  t
) 
 


Member Function Documentation

boolean TUnitQuaternion::Equals (  const TUnitQuaternion &  q1,
real32  epsilon
)  const
 

TUnitComplex TUnitQuaternion::GetAngle (  void   )  const
 

return the correct complex (cos(x), sin(x)) where ft=cos(1/2 x)

void TUnitQuaternion::GetAxis (  TVector3 &  axis  )  const
 

void TUnitQuaternion::GetMatrix (  TMatrix33 &  m  )  const
 

void TUnitQuaternion::GetMatrix (  TVector3 &  II,
TVector3 &  JJ,
TVector3 &  KK
)  const
 

real TUnitQuaternion::GetT (   )  const [inline]
 

real TUnitQuaternion::GetX (   )  const [inline]
 

real TUnitQuaternion::GetY (   )  const [inline]
 

real TUnitQuaternion::GetZ (   )  const [inline]
 

TUnitQuaternion TUnitQuaternion::Inverse (  void   )  const
 

void TUnitQuaternion::InverseTransform (  const TVector3 &  PP,
TVector3 &  QQ
)  const
 

void TUnitQuaternion::Normalize (  void   ) 
 

boolean TUnitQuaternion::operator== (  const TUnitQuaternion &  q1  )  const
 

void TUnitQuaternion::Set (  real  x,
real  y,
real  z,
real  t
) 
 

void TUnitQuaternion::SetFromAxis (  const TVector3 &  axis,
const TUnitComplex &  angle
) 
 

void TUnitQuaternion::SetFromInterpolate (  const real  lamda,
const TUnitQuaternion &  q1,
const TUnitQuaternion &  q2
) 
 

void TUnitQuaternion::SetFromMatrix (  const TMatrix33 &  m  ) 
 

void TUnitQuaternion::SetFromMatrix (  const TVector3 &  II,
const TVector3 &  JJ,
const TVector3 &  KK
) 
 

void TUnitQuaternion::SetFromTransition (  const TVector3 &  PP,
const TVector3 &  QQ
) 
 

void TUnitQuaternion::SetFromTransition (  const TVector3 &  PP,
const TVector3 &  QQ,
const TVector3 &  AXIS
) 
 

void TUnitQuaternion::SetFromVirtual (  const TVector2 &  V1,
const TVector2 &  V2
) 
 

TUnitQuaternion TUnitQuaternion::Square (  void   )  const
 

TUnitQuaternion TUnitQuaternion::SquareRoot (  void   )  const
 

void TUnitQuaternion::Transform (  const TVector3 &  PP,
TVector3 &  QQ
)  const
 


Friends And Related Function Documentation

TUnitQuaternion operator * (  const TUnitQuaternion &  ,
const TUnitQuaternion & 
)  [friend]
 

TMCiostream& operator<< (  TMCiostream &  ,
const TUnitQuaternion & 
)  [friend]
 

TMCiostream& operator>> (  TMCiostream &  ,
TUnitQuaternion & 
)  [friend]
 


Member Data Documentation

real TUnitQuaternion::ft [protected]
 

real TUnitQuaternion::fx [protected]
 

real TUnitQuaternion::fy [protected]
 

real TUnitQuaternion::fz [protected]
 


The documentation for this class was generated from the following file:
Generated on Mon Mar 14 12:29:10 2005 for Carrara SDK Doc by  doxygen 1.3.9.1