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); };