]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGMassBalance.h
Removed FGMatrix.* because it is no longer used by JSBSim.
[flightgear.git] / src / FDM / JSBSim / FGMassBalance.h
index ca75b0fd7186fc56e48f484d851e602def1e6163..69c84fd46a2f06fe72bab4d5944d8b4281a2550e 100644 (file)
@@ -1,4 +1,4 @@
-/*******************************************************************************
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  Header:       FGMassBalance.h
  Author:       Jon S. Berndt
@@ -27,28 +27,30 @@ HISTORY
 --------------------------------------------------------------------------------
 09/12/2000  JSB  Created
 
-********************************************************************************
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 COMMENTS, REFERENCES,  and NOTES
-********************************************************************************
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-********************************************************************************
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 SENTRY
-*******************************************************************************/
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
 #ifndef FGMASSBALANCE_H
 #define FGMASSBALANCE_H
 
-/*******************************************************************************
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 INCLUDES
-*******************************************************************************/
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
 #include "FGModel.h"
+#include "FGPropulsion.h"
+#include <vector>
 
-#define ID_MASSBALANCE "$Header"
+#define ID_MASSBALANCE "$Id$"
 
-/*******************************************************************************
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DECLARATION
-*******************************************************************************/
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
 class FGMassBalance : public FGModel
 {
@@ -58,7 +60,56 @@ public:
   ~FGMassBalance();
 
   bool Run(void);
+
+  inline double GetMass(void) {return Mass;}
+  inline double GetWeight(void) {return Weight;}
+  inline double GetIxx(void) {return Ixx;}
+  inline double GetIyy(void) {return Iyy;}
+  inline double GetIzz(void) {return Izz;}
+  inline double GetIxy(void) {return Ixy;}
+  inline double GetIxz(void) {return Ixz;}
+  inline FGColumnVector3& GetXYZcg(void) {return vXYZcg;}
+  inline double GetXYZcg(int axis) {return vXYZcg(axis);}
+
+  inline void SetEmptyWeight(double EW) { EmptyWeight = EW;}
+  inline void SetBaseIxx(double bixx)   { baseIxx = bixx;}
+  inline void SetBaseIyy(double biyy)   { baseIyy = biyy;}
+  inline void SetBaseIzz(double bizz)   { baseIzz = bizz;}
+  inline void SetBaseIxy(double bixy)   { baseIxy = bixy;}
+  inline void SetBaseIxz(double bixz)   { baseIxz = bixz;}
+  inline void SetBaseCG(const FGColumnVector3& CG) {vbaseXYZcg = CG;}
+  
+  void AddPointMass(double weight, double X, double Y, double Z);
+  double GetPointMassWeight(void);
+  FGColumnVector3& GetPointMassCG(void);
+  double GetPMIxx(void);
+  double GetPMIyy(void);
+  double GetPMIzz(void);
+  double GetPMIxy(void);
+  double GetPMIxz(void);
+
+private:
+  double Weight;
+  double EmptyWeight;
+  double Mass;
+  double Ixx;
+  double Iyy;
+  double Izz;
+  double Ixy;
+  double Ixz;
+  double baseIxx;
+  double baseIyy;
+  double baseIzz;
+  double baseIxy;
+  double baseIxz;
+  FGColumnVector3 vXYZcg;
+  FGColumnVector3 vXYZtank;
+  FGColumnVector3 vbaseXYZcg;
+  vector <FGColumnVector3> PointMassLoc;
+  vector <double> PointMassWeight;
+  FGColumnVector3 PointMassCG;
+  void Debug(int from);
 };
 
-/******************************************************************************/
+//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 #endif