]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGRotation.h
Initial revision.
[flightgear.git] / src / FDM / JSBSim / FGRotation.h
index 3f64a254656dc28543a51c7aa687e9c3bb2d5de5..3952a4f395f7cae2294deaf59eef9db0c3e94e3c 100644 (file)
@@ -60,16 +60,17 @@ INCLUDES
 #  include <simgear/compiler.h>
 #  include <math.h>
 #else
-#  include <cmath>
-#endif
-
-#ifndef M_PI
-#  include <simgear/constants.h>
-#  define M_PI SG_PI
+#  if defined (sgi) && !defined(__GNUC__)
+#    include <math.h>
+#  else
+#    include <cmath>
+#  endif
 #endif
 
 #include "FGModel.h"
-#include "FGMatrix.h"
+#include "FGMatrix33.h"
+#include "FGColumnVector3.h"
+#include "FGColumnVector4.h"
 
 #define ID_ROTATION "$Id$"
 
@@ -85,47 +86,50 @@ public:
 
   bool Run(void);
 
-  inline FGColumnVector GetPQR(void) {return vPQR;}
-  inline float GetPQR(int axis) {return vPQR(axis);}
-  inline FGColumnVector GetPQRdot(void) {return vPQRdot;}
-  inline float GetPQRdot(int idx) {return vPQRdot(idx);}
-  inline FGColumnVector GetEuler(void) {return vEuler;}
-  inline float GetEuler(int axis) {return vEuler(axis);}
-  inline FGColumnVector GetEulerRates(void) { return vEulerRates; }
-  inline float GetEulerRates(int axis) { return vEulerRates(axis); }
-  inline void SetPQR(FGColumnVector tt) {vPQR = tt;}
-  inline void SetEuler(FGColumnVector tt) {vEuler = tt;}
+  inline FGColumnVector3& GetPQR(void) {return vPQR;}
+  inline double GetPQR(int axis) {return vPQR(axis);}
+  inline FGColumnVector3& GetAeroPQR(void) {return vAeroPQR;}
+  inline double GetAeroPQR(int axis) {return vAeroPQR(axis);}
+  inline FGColumnVector3& GetPQRdot(void) {return vPQRdot;}
+  inline double GetPQRdot(int idx) {return vPQRdot(idx);}
+  inline FGColumnVector3& GetEuler(void) {return vEuler;}
+  inline double GetEuler(int axis) {return vEuler(axis);}
+  inline FGColumnVector3& GetEulerRates(void) { return vEulerRates; }
+  inline double GetEulerRates(int axis) { return vEulerRates(axis); }
+  inline void SetPQR(FGColumnVector3 tt) {vPQR = tt;}
+  inline void SetEuler(FGColumnVector3 tt) {vEuler = tt;}
   
-  inline float Getphi(void) {return vEuler(1);}
-  inline float Gettht(void) {return vEuler(2);}
-  inline float Getpsi(void) {return vEuler(3);}
+  inline double Getphi(void) {return vEuler(1);}
+  inline double Gettht(void) {return vEuler(2);}
+  inline double Getpsi(void) {return vEuler(3);}
   
-  inline float GetCosphi(void) {return cPhi;}
-  inline float GetCostht(void) {return cTht;}
-  inline float GetCospsi(void) {return cPsi;}
+  inline double GetCosphi(void) {return cPhi;}
+  inline double GetCostht(void) {return cTht;}
+  inline double GetCospsi(void) {return cPsi;}
 
-  inline float GetSinphi(void) {return sPhi;}
-  inline float GetSintht(void) {return sTht;}
-  inline float GetSinpsi(void) {return sPsi;}
+  inline double GetSinphi(void) {return sPhi;}
+  inline double GetSintht(void) {return sTht;}
+  inline double GetSinpsi(void) {return sPsi;}
 
 private:
-  FGColumnVector vPQR;
-  FGColumnVector vPQRdot;
-  FGColumnVector vMoments;
-  FGColumnVector vEuler;
-  FGColumnVector vEulerRates;
-  FGColumnVector vlastPQRdot;
+  FGColumnVector3 vPQR;
+  FGColumnVector3 vAeroPQR;
+  FGColumnVector3 vPQRdot;
+  FGColumnVector3 vMoments;
+  FGColumnVector3 vEuler;
+  FGColumnVector3 vEulerRates;
+  FGColumnVector3 vlastPQRdot;
   
-  float cTht,sTht;
-  float cPhi,sPhi;
-  float cPsi,sPsi;
+  double cTht,sTht;
+  double cPhi,sPhi;
+  double cPsi,sPsi;
   
-  float Ixx, Iyy, Izz, Ixz;
-  float dt;
+  double Ixx, Iyy, Izz, Ixz;
+  double dt;
 
   void GetState(void);
 
-  void Debug(void);
+  void Debug(int from);
 };
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%