X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2FFGCoefficient.h;h=1a076907dc8092e61ae58596441111bf10591dd5;hb=4a854fcc3ec4e9508ec6d70d50fb1a92183cb04e;hp=0c1e1c951bcb394e01bac6ba8f94c2964d35f43a;hpb=5c3f4e999db5cc882f6f47630084ff00b53a4516;p=flightgear.git
diff --git a/src/FDM/JSBSim/FGCoefficient.h b/src/FDM/JSBSim/FGCoefficient.h
index 0c1e1c951..1a076907d 100644
--- a/src/FDM/JSBSim/FGCoefficient.h
+++ b/src/FDM/JSBSim/FGCoefficient.h
@@ -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
+ Header File
+ @see
+ Source File
*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -103,10 +107,11 @@ public:
virtual bool Load(FGConfigFile* AC_cfg);
- typedef vector MultVec;
+ typedef vector 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);
};