00001 #pragma once 00002 #include "gmathobject.h" 00003 #include "gvec4f.h" 00004 #include <cmath> 00005 00006 class GQuaternion : public GMathObject 00007 { 00008 public: 00009 GVec4f Axis; 00010 float Angle; 00011 00012 GQuaternion(void); 00013 GQuaternion(GVec4f _Axis, float _Angle); 00014 GQuaternion(const GQuaternion &Q); 00015 GQuaternion operator*(GQuaternion Q); 00016 GQuaternion operator=(GQuaternion Q); 00017 GQuaternion operator*=(GQuaternion Q); 00018 GVec4f RotateVector(GVec4f VecToRotate, float Angle); 00019 GVec4f RotateVector(GVec4f *VecToRotate, float Angle); 00020 GQuaternion Conjugate(); 00021 ~GQuaternion(void); 00022 };