X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2FFGAuxiliary.h;h=a76976978234a1165b6143c38783d534d56dbfa5;hb=95440173caef3ce92ee7308fd58a24dabe4c5f8a;hp=08fba1e3444724e5430f441a083aff07831c0447;hpb=120b26cc88c094515dab58fbd50d1a9673cde9c0;p=flightgear.git diff --git a/src/FDM/JSBSim/FGAuxiliary.h b/src/FDM/JSBSim/FGAuxiliary.h index 08fba1e34..a76976978 100644 --- a/src/FDM/JSBSim/FGAuxiliary.h +++ b/src/FDM/JSBSim/FGAuxiliary.h @@ -1,4 +1,4 @@ -/******************************************************************************* +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Header: FGAuxiliary.h Author: Jon Berndt @@ -28,68 +28,107 @@ HISTORY 11/22/98 JSB Created 1/1/00 TP Added calcs and getters for VTAS, VCAS, VEAS, Vground, in knots -******************************************************************************** +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SENTRY -*******************************************************************************/ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ #ifndef FGAUXILIARY_H #define FGAUXILIARY_H -/******************************************************************************* +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INCLUDES -*******************************************************************************/ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + #include "FGModel.h" -#include "FGMatrix.h" +#include "FGMatrix33.h" +#include "FGColumnVector3.h" +#include "FGColumnVector4.h" + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +DEFINITIONS +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +#define ID_AUXILIARY "$Id$" + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +FORWARD DECLARATIONS +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ + +namespace JSBSim { -/******************************************************************************* -DEFINES -*******************************************************************************/ +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +CLASS DOCUMENTATION +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ -/******************************************************************************* +/** Encapsulates various uncategorized scheduled functions. + @author Tony Peden, Jon Berndt + @version $Id$ +*/ + +/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CLASS DECLARATION -*******************************************************************************/ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/ class FGAuxiliary : public FGModel { public: - FGAuxiliary(FGFDMExec*); - ~FGAuxiliary(void); + /** Constructor + @param Executive a pointer to the parent executive object */ + FGAuxiliary(FGFDMExec* Executive); + /// Destructor + ~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 FGColumnVector GetPilotAccel(void) { return vPilotAccel; } - inline FGColumnVector GetNpilot(void) { return vPilotAccel*INVGRAVITY; } + // Use FGInitialCondition to set these speeds + 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 float GetEarthPositionAngle(void) { return earthPosAngle; } + 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; } - -protected: + 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); } -private: - float vcas; - float veas; - float mach; - float qbar,rhosl,rho,p,psl,pt; - //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 + inline double GetEarthPositionAngle(void) const { return earthPosAngle; } - + double GetHeadWind(void); + double GetCrossWind(void); - FGColumnVector vPilotAccel; + void bind(void); + void unbind(void); + +private: + 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! + + FGColumnVector3 vPilotAccel; + FGColumnVector3 vPilotAccelN; + FGColumnVector3 vToEyePt; - float earthPosAngle; + double earthPosAngle; void GetState(void); + void Debug(int from); }; -/******************************************************************************/ +} // namespace JSBSim + +//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #endif +