X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FFDM%2FJSBSim%2FFGAuxiliary.h;h=5a61290ffc39f31af911118258c5863cf0aa7136;hb=f63d336ebcc5318a83a4db15a73a7c77cc192d53;hp=6d676ad58c7a6d632ab9aa5f57a4bc7311b572c8;hpb=407dcaff6236e7217eff16ac253218d3e51bce6d;p=flightgear.git diff --git a/src/FDM/JSBSim/FGAuxiliary.h b/src/FDM/JSBSim/FGAuxiliary.h index 6d676ad58..5a61290ff 100644 --- a/src/FDM/JSBSim/FGAuxiliary.h +++ b/src/FDM/JSBSim/FGAuxiliary.h @@ -40,21 +40,19 @@ INCLUDES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #include "FGModel.h" -#include "FGMatrix.h" +#include "FGColumnVector3.h" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFINITIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -#define ID_AUXILIARY "$Header" +#define ID_AUXILIARY "$Id$" /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FORWARD DECLARATIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs] -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ +namespace JSBSim { /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS DOCUMENTATION @@ -63,7 +61,6 @@ CLASS DOCUMENTATION /** Encapsulates various uncategorized scheduled functions. @author Tony Peden, Jon Berndt @version $Id$ - @see - */ /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -74,47 +71,62 @@ class FGAuxiliary : public FGModel { public: /** Constructor @param Executive a pointer to the parent executive object */ - FGAuxiliary(FGFDMExec*); + FGAuxiliary(FGFDMExec* Executive); /// Destructor - ~FGAuxiliary(void); + ~FGAuxiliary(); /** Runs the Auxiliary routines; called by the Executive @return false if no error */ bool Run(void); // Use FGInitialCondition to set these speeds - inline float GetVcalibratedFPS(void) { return vcas; } - inline float GetVcalibratedKTS(void) { return vcas*FPSTOKTS; } - inline float GetVequivalentFPS(void) { return veas; } - inline float GetVequivalentKTS(void) { return veas*FPSTOKTS; } + inline double GetVcalibratedFPS(void) const { return vcas; } + inline double GetVcalibratedKTS(void) const { return vcas*fpstokts; } + inline double GetVequivalentFPS(void) const { return veas; } + inline double GetVequivalentKTS(void) const { return veas*fpstokts; } + inline double GetMachU(void) const { return machU; } + + inline double GetTotalTemperature(void) const { return tat; } + inline double GetTAT_C(void) const { return tatc; } + + // total pressure above is freestream total pressure for subsonic only + // for supersonic it is the 1D total pressure behind a normal shock + inline double GetTotalPressure(void) const { return pt; } - inline FGColumnVector GetPilotAccel(void) { return vPilotAccel; } - inline FGColumnVector GetNpilot(void) { return vPilotAccel*INVGRAVITY; } + inline FGColumnVector3& GetPilotAccel(void) { return vPilotAccel; } + inline double GetPilotAccel(int idx) const { return vPilotAccel(idx); } + FGColumnVector3 GetNpilot(void) const { return vPilotAccelN; } + double GetNpilot(int idx) const { return vPilotAccelN(idx); } + + inline double GetEarthPositionAngle(void) const { return earthPosAngle; } - inline float GetEarthPositionAngle(void) { return earthPosAngle; } + double GetHeadWind(void); + double GetCrossWind(void); - -protected: + void bind(void); + void unbind(void); private: - float vcas; - float veas; - float mach; - float qbar,rhosl,rho,p,psl,pt; + double vcas; + double veas; + double mach; + double machU; + double qbar,rhosl,rho,p,psl,pt,tat,sat,tatc; // Don't add a getter for pt! - // pt above is freestream total pressure for subsonic only - // for supersonic it is the 1D total pressure behind a normal shock - // if a general freestream total is needed, e-mail Tony Peden - // (apeden@earthlink.net) or you can add it your self using the - // isentropic flow equations - FGColumnVector vPilotAccel; + FGColumnVector3 vPilotAccel; + FGColumnVector3 vPilotAccelN; + FGColumnVector3 vToEyePt; - float earthPosAngle; + double earthPosAngle; void GetState(void); + void Debug(int from); }; +} // namespace JSBSim + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #endif +