]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGAerodynamics.h
Fix stall widths for the "auxilliary" (reverse flow) stalls so they
[flightgear.git] / src / FDM / JSBSim / FGAerodynamics.h
index c583564805c35672c6b96a6ccb026f3c39086eda..e6d8ac2fefc1045581555ca173f8ffcc9b0cd8ce 100644 (file)
@@ -54,11 +54,8 @@ INCLUDES
 
 #include "FGModel.h"
 #include "FGConfigFile.h"
-#include "FGState.h"
-#include "FGMassBalance.h"
-#include "FGTranslation.h"
 #include "FGCoefficient.h"
-#include "FGFactorGroup.h"
+#include "FGColumnVector3.h"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 DEFINITIONS
@@ -66,17 +63,12 @@ DEFINITIONS
 
 #define ID_AERODYNAMICS "$Id$"
 
-
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 FORWARD DECLARATIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
 namespace JSBSim {
 
-/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DOCUMENTATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
@@ -85,12 +77,17 @@ CLASS DOCUMENTATION
     This class owns and contains the list of coefficients that define the
     aerodynamic properties of this aircraft. Here also, such unique phenomena
     as ground effect and maximum lift curve tailoff are handled.
-    @author Jon S. Berndt
-    @version $Id$
-    @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGAerodynamics.h?rev=HEAD&content-type=text/vnd.viewcvs-markup">
-         Header File </a>
-    @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGAerodynamics.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup">
-         Source File </a>
+    @config
+    <pre>
+    \<AERODYNAMICS>
+       \<AXIS NAME="{LIFT|DRAG|SIDE|ROLL|PITCH|YAW}">
+         {Coefficient definitions}
+       \</AXIS>
+       {Additional axis definitions}
+    \</AERODYNAMICS> </pre>
+    
+    @author Jon S. Berndt, Tony Peden
+    $Id$
 */
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -102,7 +99,7 @@ class FGAerodynamics : public FGModel {
 public:
   /** Constructor
       @param Executive a pointer to the parent executive object */
-  FGAerodynamics(FGFDMExec*);
+  FGAerodynamics(FGFDMExec* Executive);
   /// Destructor
   ~FGAerodynamics();
 
@@ -110,18 +107,31 @@ public:
       @return false if no error */
   bool Run(void);
 
-  /** Loads the Aerodynamics model
+  /** Loads the Aerodynamics model.
+      The Load function for this class expects the configuration file to
+      have found the AERODYNAMICS keyword in the configution file and to
+      have set that line to the current line.
+      @param AC_cfg pointer to the current configuration file.
       @return true if successful */
   bool Load(FGConfigFile* AC_cfg);
 
   /** Gets the total aerodynamic force vector.
       @return a force vector reference. */
   FGColumnVector3& GetForces(void) {return vForces;}
+
+  /** Gets the aerodynamic force for an axis.
+      @param n Axis index. This could be 0, 1, or 2, or one of the 
+               axis enums: eX, eY, eZ.
+      @return the force acting on an axis */
   double GetForces(int n) const {return vForces(n);}
 
   /** Gets the total aerodynamic moment vector.
       @return a moment vector reference. */
   FGColumnVector3& GetMoments(void) {return vMoments;}
+
+  /** Gets the aerodynamic moment for an axis.
+      @return the moment about a single axis (as described also in the
+              similar call to GetForces(int n).*/
   double GetMoments(int n) const {return vMoments(n);}
 
   FGColumnVector3& GetvLastFs(void) { return vLastFs; }
@@ -145,18 +155,21 @@ public:
   inline void SetAlphaCLMax(double tt) { alphaclmax=tt; }
   inline void SetAlphaCLMin(double tt) { alphaclmin=tt; }
 
-    /** Gets the strings for the current set of coefficients.
+  /** Gets the strings for the current set of coefficients.
+      @param delimeter either a tab or comma string depending on output type
       @return a string containing the descriptive names for all coefficients */
-  string GetCoefficientStrings(void);
+  string GetCoefficientStrings(string delimeter);
 
   /** Gets the coefficient values.
+      @param delimeter either a tab or comma string depending on output type
       @return a string containing the numeric values for the current set of
       coefficients */
-  string GetCoefficientValues(void);
+  string GetCoefficientValues(string delimeter);
   
   void bind(void);
   void bindModel(void);
   void unbind(void);
+  void convert(void);
   
 private:
   typedef map<string,int> AxisIndex;