]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGAerodynamics.h
Latest JSBSim changes, including some gear tweaking from Jon and some
[flightgear.git] / src / FDM / JSBSim / FGAerodynamics.h
index 5e97441c9e486652e914d1dc83947d7881a6ff38..55905a57fbc2f21c8e3f41ccb173d2b48116e027 100644 (file)
@@ -58,6 +58,7 @@ INCLUDES
 #include "FGMassBalance.h"
 #include "FGTranslation.h"
 #include "FGCoefficient.h"
+#include "FGFactorGroup.h"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 DEFINITIONS
@@ -65,6 +66,7 @@ DEFINITIONS
 
 #define ID_AERODYNAMICS "$Id$"
 
+
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 FORWARD DECLARATIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
@@ -105,27 +107,23 @@ public:
 
   /** Loads the Aerodynamics model
       @return true if successful */
-  bool LoadAerodynamics(FGConfigFile* AC_cfg);
-
-  /** Outputs coefficient information.
-      Non-dimensionalizing parameter descriptions are output
-      for each aero coefficient defined.
-      @param multipliers the list of multipliers for this coefficient.*/
-  void DisplayCoeffFactors(vector <eParam> multipliers);
+  bool Load(FGConfigFile* AC_cfg);
 
   /** Gets the total aerodynamic force vector.
       @return a force vector reference. */
-  FGColumnVector& GetForces(void) {return vForces;}
+  FGColumnVector3& GetForces(void) {return vForces;}
+  inline double GetForces(int n) {return vForces(n);}
 
   /** Gets the total aerodynamic moment vector.
       @return a moment vector reference. */
-  FGColumnVector& GetMoments(void) {return vMoments;}
+  FGColumnVector3& GetMoments(void) {return vMoments;}
+  inline double GetMoments(int n) {return vMoments(n);}
 
-  inline FGColumnVector GetvLastFs(void) { return vLastFs; }
-  inline float GetvLastFs(int axis) { return vLastFs(axis); }
-  inline FGColumnVector GetvFs(void) { return vFs; }
-  inline float GetvFs(int axis) { return vFs(axis); }
-  float GetLoD(void);
+  inline FGColumnVector3& GetvLastFs(void) { return vLastFs; }
+  inline double GetvLastFs(int axis) { return vLastFs(axis); }
+  inline FGColumnVector3& GetvFs(void) { return vFs; }
+  inline double GetvFs(int axis) { return vFs(axis); }
+  double GetLoD(void);
 
     /** Gets the strings for the current set of coefficients.
       @return a string containing the descriptive names for all coefficients */
@@ -135,22 +133,24 @@ public:
       @return a string containing the numeric values for the current set of
       coefficients */
   string GetCoefficientValues(void);
+  
+  inline FGCoefficient* GetCoefficient(string name) { return cm[name]; }
 
-  /// Gets the Normal Load Factor
-  float GetNlf(void);
 
 private:
   typedef map<string,int> AxisIndex;
   AxisIndex AxisIdx;
   typedef vector<FGCoefficient*> CoeffArray;
   CoeffArray* Coeff;
-  FGColumnVector vFs;
-  FGColumnVector vForces;
-  FGColumnVector vMoments;
-  FGColumnVector vLastFs;
-  FGColumnVector vDXYZcg;
-
-  void Debug(void);
+  typedef map<string,FGCoefficient*> CoeffMap;
+  CoeffMap cm;
+  FGColumnVector3 vFs;
+  FGColumnVector3 vForces;
+  FGColumnVector3 vMoments;
+  FGColumnVector3 vLastFs;
+  FGColumnVector3 vDXYZcg;
+
+  void Debug(int from);
 };
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%