]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGMassBalance.h
JSBSim updates. This update changes the file format, so an update of the base
[flightgear.git] / src / FDM / JSBSim / FGMassBalance.h
index d59fbb16ef4ae51ada69baca3553ffb42d8be444..dbdbf1c951ad9444057e598e4bbdb2b0baabaab9 100644 (file)
@@ -44,6 +44,7 @@ INCLUDES
 
 #include "FGModel.h"
 #include "FGPropulsion.h"
+#include <vector>
 
 #define ID_MASSBALANCE "$Id$"
 
@@ -60,23 +61,35 @@ public:
 
   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 GetIxz(void) {return Ixz;}
-  inline double GetIyz(void) {return Iyz;}
+  inline double GetMass(void) const {return Mass;}
+  inline double GetWeight(void) const {return Weight;}
+  inline double GetIxx(void) const {return Ixx;}
+  inline double GetIyy(void) const {return Iyy;}
+  inline double GetIzz(void) const {return Izz;}
+  inline double GetIxy(void) const {return Ixy;}
+  inline double GetIxz(void) const {return Ixz;}
   inline FGColumnVector3& GetXYZcg(void) {return vXYZcg;}
-  inline double GetXYZcg(int axis) {return vXYZcg(axis);}
+  inline double GetXYZcg(int axis) const  {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 SetBaseIyz(double biyz)   { baseIyz = biyz;}
   inline void SetBaseCG(const FGColumnVector3& CG) {vbaseXYZcg = CG;}
+  
+  void AddPointMass(double weight, double X, double Y, double Z);
+  double GetPointMassWeight(void);
+  FGColumnVector3& GetPointMassMoment(void);
+  double GetPMIxx(void);
+  double GetPMIyy(void);
+  double GetPMIzz(void);
+  double GetPMIxy(void);
+  double GetPMIxz(void);
+  
+  void bind(void);
+  void unbind(void);
 
 private:
   double Weight;
@@ -85,17 +98,20 @@ private:
   double Ixx;
   double Iyy;
   double Izz;
+  double Ixy;
   double Ixz;
-  double Iyz;
   double baseIxx;
   double baseIyy;
   double baseIzz;
+  double baseIxy;
   double baseIxz;
-  double baseIyz;
   FGColumnVector3 vXYZcg;
   FGColumnVector3 vXYZtank;
   FGColumnVector3 vbaseXYZcg;
-  void Debug(void);
+  vector <FGColumnVector3> PointMassLoc;
+  vector <double> PointMassWeight;
+  FGColumnVector3 PointMassCG;
+  void Debug(int from);
 };
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%