]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/models/FGAerodynamics.h
Removed useless divisions - As a side effect, it removes the risk of divisions by...
[flightgear.git] / src / FDM / JSBSim / models / FGAerodynamics.h
index a5e2781959da3b3e8ce398c697b8203d53c06ed6..87744e86e0654f164fa589daa612853eaab13620 100644 (file)
@@ -52,7 +52,7 @@ INCLUDES
 DEFINITIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-#define ID_AERODYNAMICS "$Id: FGAerodynamics.h,v 1.21 2010/11/18 12:38:06 jberndt Exp $"
+#define ID_AERODYNAMICS "$Id: FGAerodynamics.h,v 1.23 2011/05/20 03:18:36 jberndt Exp $"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 FORWARD DECLARATIONS
@@ -89,7 +89,7 @@ CLASS DOCUMENTATION
          {function contents}
        </function>
        <axis name="{LIFT | DRAG | SIDE | ROLL | PITCH | YAW}">
-         {force coefficient definitions}
+         {force or moment definitions}
        </axis>
        {additional axis definitions}
     </aerodynamics>
@@ -103,13 +103,13 @@ CLASS DOCUMENTATION
     <br>
     2) Axial-Normal coordinate system:
     @code
-       <axis name="{AXIAL | NORMAL}">
+       <axis name="{AXIAL | NORMAL | SIDE}">
     @endcode
     <br>
     Systems may NOT be combined, or a load error will occur.
 
     @author Jon S. Berndt, Tony Peden
-    @version $Revision: 1.21 $
+    @version $Revision: 1.23 $
 */
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -129,8 +129,13 @@ public:
   bool InitModel(void);
 
   /** Runs the Aerodynamics model; called by the Executive
+      Can pass in a value indicating if the executive is directing the simulation to Hold.
+      @param Holding if true, the executive has been directed to hold the sim from 
+                     advancing time. Some models may ignore this flag, such as the Input
+                     model, which may need to be active to listen on a socket for the
+                     "Resume" command to be given.
       @return false if no error */
-  bool Run(void);
+  bool Run(bool Holding);
 
   /** Loads the Aerodynamics model.
       The Load function for this class expects the XML parser to
@@ -186,16 +191,16 @@ public:
   void SetAlphaCLMax(double tt) { alphaclmax=tt; }
   void SetAlphaCLMin(double tt) { alphaclmin=tt; }
 
-  /** Gets the strings for the current set of coefficients.
+  /** Gets the strings for the current set of aero functions.
       @param delimeter either a tab or comma string depending on output type
-      @return a string containing the descriptive names for all coefficients */
-  std::string GetCoefficientStrings(const std::string& delimeter) const;
+      @return a string containing the descriptive names for all aero functions */
+  std::string GetAeroFunctionStrings(const std::string& delimeter) const;
 
-  /** Gets the coefficient values.
+  /** Gets the aero function 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 */
-  std::string GetCoefficientValues(const std::string& delimeter) const;
+      aero functions */
+  std::string GetAeroFunctionValues(const std::string& delimeter) const;
 
   /** Calculates and returns the wind-to-body axis transformation matrix.
       @return a reference to the wind-to-body transformation matrix.
@@ -207,15 +212,15 @@ public:
       */
   FGMatrix33& GetTb2w(void);
 
-  std::vector <FGFunction*> * GetCoeff(void) const { return Coeff; }
+  std::vector <FGFunction*> * GetAeroFunctions(void) const { return AeroFunctions; }
 
 private:
   enum eAxisType {atNone, atLiftDrag, atAxialNormal, atBodyXYZ} axisType;
   typedef std::map<std::string,int> AxisIndex;
   AxisIndex AxisIdx;
   FGFunction* AeroRPShift;
-  typedef vector <FGFunction*> CoeffArray;
-  CoeffArray* Coeff;
+  typedef vector <FGFunction*> AeroFunctionArray;
+  AeroFunctionArray* AeroFunctions;
   FGColumnVector3 vFnative;
   FGColumnVector3 vFw;
   FGColumnVector3 vForces;