double Geth(void) const { return VState.vLocation.GetRadius() - SeaLevelRadius; }
double GetPQR(int axis) const {return VState.vPQR(axis);}
double GetPQRdot(int idx) const {return vPQRdot(idx);}
- double GetEuler(int axis) const { return VState.vQtrn.GetEuler()(axis); }
+ double GetEuler(int axis) const { return VState.vQtrn.GetEuler(axis); }
+ double GetCosEuler(int idx) const { return VState.vQtrn.GetCosEuler(idx); }
+ double GetSinEuler(int idx) const { return VState.vQtrn.GetSinEuler(idx); }
double Gethdot(void) const { return -vVel(eDown); }
/** Returns the "constant" RunwayRadius.
zero if JSBSim is running in standalone mode.
@return distance of the runway from the center of the earth.
@units feet */
- double GetRunwayRadius(void) const { return RunwayRadius; }
+ double GetRunwayRadius(void) const;
double GetSeaLevelRadius(void) const { return SeaLevelRadius; }
- double GetDistanceAGL(void) const { return VState.vLocation.GetRadius()-RunwayRadius; }
+ double GetDistanceAGL(void) const;
double GetRadius(void) const { return VState.vLocation.GetRadius(); }
double GetLongitude(void) const { return VState.vLocation.GetLongitude(); }
double GetLatitude(void) const { return VState.vLocation.GetLatitude(); }
const FGLocation& GetLocation(void) const { return VState.vLocation; }
- double Getphi(void) const { return VState.vQtrn.GetEulerPhi(); }
- double Gettht(void) const { return VState.vQtrn.GetEulerTheta(); }
- double Getpsi(void) const { return VState.vQtrn.GetEulerPsi(); }
-
- double GetCosphi(void) const { return VState.vQtrn.GetCosEulerPhi(); }
- double GetCostht(void) const { return VState.vQtrn.GetCosEulerTheta(); }
- double GetCospsi(void) const { return VState.vQtrn.GetCosEulerPsi(); }
-
- double GetSinphi(void) const { return VState.vQtrn.GetSinEulerPhi(); }
- double GetSintht(void) const { return VState.vQtrn.GetSinEulerTheta(); }
- double GetSinpsi(void) const { return VState.vQtrn.GetSinEulerPsi(); }
-
/** Retrieves the local-to-body transformation matrix.
@return a reference to the local-to-body transformation matrix. */
const FGMatrix33& GetTl2b(void) const { return VState.vQtrn.GetT(); }
void SetRadius(double r) { VState.vLocation.SetRadius(r); }
void SetLocation(const FGLocation& l) { VState.vLocation = l; }
void Seth(double tt);
- void SetRunwayRadius(double tt) { RunwayRadius = tt; }
void SetSeaLevelRadius(double tt) { SeaLevelRadius = tt; }
void SetDistanceAGL(double tt);
void SetInitialState(const FGInitialCondition *);
+ void RecomputeRunwayRadius(void);
+
void bind(void);
void unbind(void);