Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Quaternion.h

Go to the documentation of this file.
00001 /*
00002     File:       Quaternion.h
00003 
00004     Function:   Useful routines for using quaternions in CG
00005 
00006     Author:     Andrew Willmott
00007 
00008     Copyright:  (c) 2000, Andrew Willmott
00009 */
00010 
00011 #ifndef __Quaternion__
00012 #define __Quaternion__
00013 
00014 #include "gcl/Geometry.h"
00015 
00016 typedef Vector4 Quaternion;
00017 
00018 Quaternion MakeQuat(const Vector &axis, GCLReal theta);
00019 Quaternion MakeQuat(const Vector &point);
00020 Quaternion MakeQuat(const VecTrans &t);
00021 // R is assumed to contain the orthonormal axes of the new (rotated)
00022 // space in its columns.
00023 Quaternion QuatMult(const Quaternion &a, const Quaternion &b);
00024 
00025 inline Quaternion QuatInv(const Quaternion &q)
00026 { return(Quaternion(-q[0], -q[1], -q[2], q[3])); }
00027 
00028 inline Void MakeFromQuat(const Quaternion &q, VecTrans &t)
00029 { t.MakeRot(q); }
00030 
00031 #endif

Generated at Sat Aug 5 00:17:02 2000 for Graphics Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000