#include "FGModel.h"
#include "FGPropulsion.h"
+#include <vector>
#define ID_MASSBALANCE "$Id$"
bool Run(void);
- inline float GetMass(void) {return Mass;}
- inline float GetWeight(void) {return Weight;}
- inline float GetIxx(void) {return Ixx;}
- inline float GetIyy(void) {return Iyy;}
- inline float GetIzz(void) {return Izz;}
- inline float GetIxz(void) {return Ixz;}
- inline float GetIyz(void) {return Iyz;}
+ 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 float GetXYZcg(int axis) {return vXYZcg(axis);}
-
- inline void SetEmptyWeight(float EW) { EmptyWeight = EW;}
- inline void SetBaseIxx(float bixx) { baseIxx = bixx;}
- inline void SetBaseIyy(float biyy) { baseIyy = biyy;}
- inline void SetBaseIzz(float bizz) { baseIzz = bizz;}
- inline void SetBaseIxz(float bixz) { baseIxz = bixz;}
- inline void SetBaseIyz(float biyz) { baseIyz = biyz;}
+ 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:
- float Weight;
- float EmptyWeight;
- float Mass;
- float Ixx;
- float Iyy;
- float Izz;
- float Ixz;
- float Iyz;
- float baseIxx;
- float baseIyy;
- float baseIzz;
- float baseIxz;
- float baseIyz;
+ 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;
- void Debug(void);
+ vector <FGColumnVector3> PointMassLoc;
+ vector <double> PointMassWeight;
+ FGColumnVector3 PointMassCG;
+ void Debug(int from);
};
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%