]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGCoefficient.h
JSBSim updates, including MSVC fixes from Bernie Bright
[flightgear.git] / src / FDM / JSBSim / FGCoefficient.h
index 0c1e1c951bcb394e01bac6ba8f94c2964d35f43a..1a076907dc8092e61ae58596441111bf10591dd5 100644 (file)
@@ -47,6 +47,7 @@ INCLUDES
 #include "FGConfigFile.h"
 #include "FGTable.h"
 #include "FGJSBBase.h"
+#include "FGPropertyManager.h"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 DEFINITIONS
@@ -88,7 +89,10 @@ CLASS DOCUMENTATION
     is called and the coefficient value is calculated.
     @author Jon S. Berndt
     @version $Id$
-    @see -
+    @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>
 */
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -103,10 +107,11 @@ public:
   
   virtual bool Load(FGConfigFile* AC_cfg);
   
-  typedef vector <eParam> MultVec;
+  typedef vector <FGPropertyManager*> MultVec;
   virtual double TotalValue(void);
-  virtual inline string Getname(void) {return name;}
-  virtual inline double GetSD(void) { return SD;}
+  virtual inline double GetValue(void) const { return totalValue; }
+  virtual inline string Getname(void) const {return name;}
+  virtual inline double GetSD(void) const { return SD;}
   inline MultVec Getmultipliers(void) {return multipliers;}
   void DumpSD(void);  
   
@@ -117,14 +122,26 @@ public:
   virtual void DisplayCoeffFactors(void);
   virtual inline string GetCoefficientStrings(void) { return name; }
   virtual string GetCoefficientValues(void);
+  
+  inline void setBias(double b) { bias=b; }
+  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);
+
+protected:
+  FGFDMExec* FDMExec;
+  
 
 private:
   enum Type {UNKNOWN, VALUE, VECTOR, TABLE, EQUATION};
 
   int numInstances;
-  string filename;
   string description;
   string name;
+  string filename;
   string method;
   string multparms;
   string multparmsRow;
@@ -133,14 +150,18 @@ private:
   double Value(double);
   double Value(void);
   double StaticValue;
-  eParam LookupR, LookupC;
+  double totalValue;
+  double bias,gain;
+  FGPropertyManager *LookupR, *LookupC;
+  
+  FGPropertyManager *node; // must be private!!
+  
   MultVec multipliers;
   int rows, columns;
   Type type;
   double SD; // Actual stability derivative (or other coefficient) value
   FGTable *Table;
 
-  FGFDMExec*      FDMExec;
   FGState*        State;
   FGAtmosphere*   Atmosphere;
   FGFCS*          FCS;
@@ -150,6 +171,7 @@ private:
   FGPosition*     Position;
   FGAuxiliary*    Auxiliary;
   FGOutput*       Output;
+  FGPropertyManager* PropertyManager;
 
   virtual void Debug(int from);
 };