Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

angles.h

Go to the documentation of this file.
00001 /* ***********************************************************************************
00002         Writer:         Sebastien Bloc
00003         Copyright:      2003-2004
00004         eMail:          sebastien.bloc@free.fr
00005         URL:            http://mignonsoft.free.fr
00006 
00007         This program is free software; you can redistribute it and/or
00008         modify it under the terms of the GNU General Public License
00009         as published by the Free Software Foundation; either version 2
00010         of the License, or (at your option) any later version.
00011 
00012         This program is distributed in the hope that it will be useful,
00013         but WITHOUT ANY WARRANTY; without even the implied warranty of
00014         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015         GNU General Public License for more details.
00016         http://www.gnu.org/copyleft/gpl.html
00017 *********************************************************************************** */
00018 
00023 #ifndef INCLUDE_ANGLES_H
00024 #define INCLUDE_ANGLES_H
00025 
00026 #include "trigo.h"
00027 #include "include/quaternion.h"
00028 
00029 
00030 class Angles 
00031 {
00032 private:
00033         Quaternion quaternion;
00034         Point3D<double> euler;
00035         BOOL isUpdatedEuler;
00036         BOOL isUpdatedQuaternion;
00037 
00038         void Zero();
00039 
00040 public:
00041         Angles();
00042         Point3D<double> GetEuler();
00043         void operator= (Angles &src);
00044 
00045         Angles(Point3D<double> &relativeAngles);
00046         void Rotate(Point3D<double> &relativeAngles);
00047         void Set(Point3D<double> &relativeAngles);
00048         void Add(Point3D<double> &relativeAngles);
00049 
00050         Angles(double x,double y,double z) ;
00051         void Rotate(double x,double y,double z);
00052         void Set(double x,double y,double z);
00053         void Add(double x,double y,double z);
00054 };
00055 
00056 #endif

Generated on Fri Aug 20 19:19:42 2004 for 3d Controls by doxygen 1.3.6