#include "FGMassBalance.h"
#include "FGTranslation.h"
#include "FGCoefficient.h"
+#include "FGFactorGroup.h"
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DEFINITIONS
#define ID_AERODYNAMICS "$Id$"
+
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FORWARD DECLARATIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
/** 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 */
@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);
};
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%