]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGCoefficient.h
Make yasim accept the launchbar and hook properties. They are not tied to anything...
[flightgear.git] / src / FDM / JSBSim / FGCoefficient.h
index abd95e3c029a89bea813f4dcf3333ab65c7ccf01..fdb709adc0beb95bff5544754d0436c6f9d14635 100644 (file)
@@ -68,20 +68,11 @@ class FGState;
 class FGAtmosphere;
 class FGFCS;
 class FGAircraft;
-class FGTranslation;
-class FGRotation;
-class FGPosition;
+class FGPropagate;
 class FGAuxiliary;
 class FGOutput;
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-Note that the coefficients need not be calculated each delta-t. This is
-something that may be fixed someday.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DOCUMENTATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
@@ -92,10 +83,6 @@ CLASS DOCUMENTATION
     is called and the coefficient values are calculated.
     @author Jon S. Berndt
     @version $Id$
-    @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGCoefficient.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/FGCoefficient.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup">
-         Source File </a>
 */
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -110,19 +97,19 @@ public:
   FGCoefficient(FGFDMExec* exec);
   /// Destructor.
   virtual ~FGCoefficient();
-  
+
   /** Loads the stability derivative/aero coefficient data from the config file
       as directed by the FGAerodynamics instance.
       @param AC_cfg a pointer to the current config file instance. */
   virtual bool Load(FGConfigFile* AC_cfg);
-  
+
   typedef vector <FGPropertyManager*> MultVec;
 
-  enum Type {UNKNOWN, VALUE, VECTOR, TABLE, EQUATION};
+  enum Type {UNKNOWN, VALUE, VECTOR, TABLE, TABLE3D, EQUATION};
 
   /** Returns the value for this coefficient.
       Each instance of FGCoefficient stores a value for the "type" of coefficient
-      it is, one of: VALUE, VECTOR, TABLE, or EQUATION. This TotalValue function 
+      it is, one of: VALUE, VECTOR, TABLE, or EQUATION. This TotalValue function
       is called when the value for a coefficient needs to be known. When it is called,
       depending on what type of coefficient is represented by the FGCoefficient
       instance, TotalValue() directs the appropriate Value() function to be called.
@@ -148,8 +135,7 @@ public:
 
   /** Outputs coefficient information.
       Non-dimensionalizing parameter descriptions are output
-      for each aero coefficient defined.
-      @param multipliers the list of multipliers for this coefficient.*/
+      for each aero coefficient defined. */
   virtual void DisplayCoeffFactors(void);
 
   /// Returns the name of the coefficient.
@@ -161,7 +147,7 @@ public:
   inline void setGain(double g) { gain=g; };
   inline double getBias(void) const { return bias; }
   inline double getGain(void) const { return gain; }
-  
+
   virtual void bind(FGPropertyManager *parent);
   virtual void unbind(void);
 
@@ -177,18 +163,20 @@ private:
   string multparms;
   string multparmsRow;
   string multparmsCol;
+  string multparmsTable;
+  double Value(double, double, double);
   double Value(double, double);
   double Value(double);
   double Value(void);
   double StaticValue;
   double totalValue;
   double bias,gain;
-  FGPropertyManager *LookupR, *LookupC;
-  
+  FGPropertyManager *LookupR, *LookupC, *LookupT;
+
   FGPropertyManager *node; // must be private!!
-  
+
   MultVec multipliers;
-  int rows, columns;
+  int rows, columns, tables;
   Type type;
   double SD; // Actual stability derivative (or other coefficient) value
   FGTable *Table;
@@ -197,13 +185,11 @@ private:
   FGAtmosphere*   Atmosphere;
   FGFCS*          FCS;
   FGAircraft*     Aircraft;
-  FGTranslation*  Translation;
-  FGRotation*     Rotation;
-  FGPosition*     Position;
+  FGPropagate*    Propagate;
   FGAuxiliary*    Auxiliary;
   FGOutput*       Output;
   FGPropertyManager* PropertyManager;
-  
+
   FGPropertyManager* resolveSymbol(string name);
 
   virtual void Debug(int from);