X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2FFGCoefficient.h;h=1a076907dc8092e61ae58596441111bf10591dd5;hb=4a854fcc3ec4e9508ec6d70d50fb1a92183cb04e;hp=7c7083d0b2225ee2d7b740e474a95d855da4fdd2;hpb=a4ba46a270959bc866387873f29c1d980979fff7;p=flightgear.git diff --git a/src/FDM/JSBSim/FGCoefficient.h b/src/FDM/JSBSim/FGCoefficient.h index 7c7083d0b..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); @@ -120,16 +125,23 @@ public: inline void setBias(double b) { bias=b; } inline void setGain(double g) { gain=g; }; - inline double getBias(void) { return bias; } - inline double getGain(void) { return gain; } + 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; @@ -138,15 +150,18 @@ private: double Value(double); double Value(void); double StaticValue; + double totalValue; double bias,gain; - eParam LookupR, LookupC; + 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; @@ -156,6 +171,7 @@ private: FGPosition* Position; FGAuxiliary* Auxiliary; FGOutput* Output; + FGPropertyManager* PropertyManager; virtual void Debug(int from); };