tgQuaternion.h
Go to the documentation of this file.
00001 
00009 #ifndef TG_QUATERNION
00010 #define TG_QUATERNION
00011 
00012 #include <math.h>
00013 
00014 #include <blort/TomGine/tgMathlib.h>
00015 
00016 namespace TomGine{
00017 
00018 const float ftol = 0.0001f;
00019 
00021 class tgQuaternion
00022 {
00023 private:
00024         
00025         
00026 public:
00027         float x,y,z,w;
00028         tgQuaternion();
00029         tgQuaternion(float x, float y, float z, float w);
00030         
00031         void normalise();
00032         tgQuaternion getConjugate() const;
00033         tgQuaternion operator+ (const tgQuaternion &q2) const;
00034         tgQuaternion operator- (const tgQuaternion &q2) const;
00035         tgQuaternion operator* (const tgQuaternion &rq);
00036         tgQuaternion operator* (const float f);
00037         
00038         vec3 operator* (const vec3 &vec);
00039         
00040         void fromAxis(const vec3 &v, float angle);
00041         void fromEuler(float pitch, float yaw, float roll);
00042         void fromMatrix(mat3 m);
00043         void fromMatrix(mat4 m);
00044         mat4 getMatrix4() const;
00045         mat3 getMatrix3() const;
00046         void getAxisAngle(vec3& axis, float& angle) const;
00047         
00048         void print() const;
00049 
00050 };
00051 
00052 } // namespace TomGine
00053 
00054 #endif


blort
Author(s): Thomas Mörwald , Michael Zillich , Andreas Richtsfeld , Johann Prankl , Markus Vincze , Bence Magyar
autogenerated on Wed Aug 26 2015 15:24:12