43#include "math/FGLocation.h"
51class FGInitialCondition;
111 bool InitModel(
void)
override;
121 bool Run(
bool Holding)
override;
132 double PitotTotalPressure(
double mach,
double pressure)
const;
140 double MachFromImpactPressure(
double qc,
double p)
const;
149 double VcalibratedFromMach(
double mach,
double pressure)
const;
158 double MachFromVcalibrated(
double vcas,
double pressure)
const;
189 double GetTAT_C(
void)
const {
return tatc; }
191 double GetPilotAccel(
int idx)
const {
return vPilotAccel(idx); }
192 double GetNpilot(
int idx)
const {
return vPilotAccelN(idx); }
193 double GetAeroPQR(
int axis)
const {
return vAeroPQR(axis); }
194 double GetEulerRates(
int axis)
const {
return vEulerRates(axis); }
196 const FGColumnVector3& GetPilotAccel (
void)
const {
return vPilotAccel; }
197 const FGColumnVector3& GetNpilot (
void)
const {
return vPilotAccelN; }
198 const FGColumnVector3& GetNcg (
void)
const {
return vNcg; }
199 double GetNcg (
int idx)
const {
return vNcg(idx); }
200 double GetNlf (
void)
const;
201 const FGColumnVector3& GetAeroPQR (
void)
const {
return vAeroPQR; }
202 const FGColumnVector3& GetEulerRates (
void)
const {
return vEulerRates; }
203 const FGColumnVector3& GetAeroUVW (
void)
const {
return vAeroUVW; }
204 const FGLocation& GetLocationVRP(
void)
const {
return vLocationVRP; }
206 double GetAeroUVW (
int idx)
const {
return vAeroUVW(idx); }
207 double Getalpha (
void)
const {
return alpha; }
208 double Getbeta (
void)
const {
return beta; }
209 double Getadot (
void)
const {
return adot; }
210 double Getbdot (
void)
const {
return bdot; }
211 double GetMagBeta (
void)
const {
return fabs(beta); }
213 double Getalpha (
int unit)
const {
if (unit == inDegrees)
return alpha*radtodeg;
214 else return BadUnits(); }
215 double Getbeta (
int unit)
const {
if (unit == inDegrees)
return beta*radtodeg;
216 else return BadUnits(); }
217 double Getadot (
int unit)
const {
if (unit == inDegrees)
return adot*radtodeg;
218 else return BadUnits(); }
219 double Getbdot (
int unit)
const {
if (unit == inDegrees)
return bdot*radtodeg;
220 else return BadUnits(); }
221 double GetMagBeta (
int unit)
const {
if (unit == inDegrees)
return fabs(beta)*radtodeg;
222 else return BadUnits(); }
234 double Getqbar (
void)
const {
return qbar; }
235 double GetqbarUW (
void)
const {
return qbarUW; }
236 double GetqbarUV (
void)
const {
return qbarUV; }
237 double GetReynoldsNumber(
void)
const {
return Re; }
241 double GetVt (
void)
const {
return Vt; }
256 double GetNx (
void)
const {
return Nx; }
259 double GetNy (
void)
const {
return Ny; }
262 double GetNz (
void)
const {
return Nz; }
266 double GetHOverBCG(
void)
const {
return hoverbcg; }
267 double GetHOverBMAC(
void)
const {
return hoverbmac; }
269 double GetGamma(
void)
const {
return gamma; }
270 double GetGroundTrack(
void)
const {
return psigt; }
272 double GetGamma(
int unit)
const {
273 if (unit == inDegrees)
return gamma*radtodeg;
274 else return BadUnits();
277 double GetLongitudeRelativePosition (
void)
const;
278 double GetLatitudeRelativePosition (
void)
const;
279 double GetDistanceRelativePosition (
void)
const;
281 void SetInitialState(
const FGInitialCondition*);
298 double StdDaySLsoundspeed;
300 double KinematicViscosity;
304 double StandardGravity;
330 double pt, tat, tatc;
347 mutable bool NEUCalcValid;
351 double qbar, qbarUW, qbarUV;
358 double hoverbcg, hoverbmac;
360 void UpdateWindMatrices(
void);
362 void CalculateRelativePosition(
void);
365 double BadUnits(
void)
const;
366 void Debug(
int from)
override;
Encapsulates various uncategorized scheduled functions.
double GetNEUPositionFromStart(int idx) const
The North East Up (NEU) frame is a local tangential frame fixed in the ECEF frame (i....
const FGMatrix33 & GetTb2w(void) const
Calculates and returns the body-to-wind axis transformation matrix.
double GetVtrueFPS() const
Returns the true airspeed in feet per second.
double GetVcalibratedFPS(void) const
Returns Calibrated airspeed in feet/second.
const FGMatrix33 & GetTw2b(void) const
Calculates and returns the wind-to-body axis transformation matrix.
double GetVground(void) const
Gets the ground speed in feet per second.
double GetVcalibratedKTS(void) const
Returns Calibrated airspeed in knots.
double GetMach(void) const
Gets the Mach number.
double GetTotalPressure(void) const
Returns the total pressure.
double GetVtrueKTS() const
Returns the true airspeed in knots.
double GetNz(void) const
The vertical acceleration in g's of the aircraft center of gravity.
double GetVequivalentFPS(void) const
Returns equivalent airspeed in feet/second.
double GetMachU(void) const
The mach number calculated using the vehicle X axis velocity.
double GetTotalTemperature(void) const
Returns the total temperature.
double GetVt(void) const
Gets the magnitude of total vehicle velocity including wind effects in feet per second.
double GetNy(void) const
The lateral acceleration in g's of the aircraft center of gravity.
double GetNx(void) const
The longitudinal acceleration in g's of the aircraft center of gravity.
double GetVequivalentKTS(void) const
Returns equivalent airspeed in knots.
This class implements a 3 element column vector.
Encapsulates the JSBSim simulation executive.
FGLocation holds an arbitrary location in the Earth centered Earth fixed reference frame (ECEF).
Handles matrix math operations.
Base class for all scheduled JSBSim models.