JSBSim Flight Dynamics Model
1.0 (02 March 2017)
An Open Source Flight Dynamics and Control Software Library in C++
|
JSBSim Base class. More...
#include <FGJSBBase.h>
Classes | |
class | Filter |
First order, (low pass / lag) filter. More... | |
class | Message |
JSBSim Message structure. More... | |
Public Member Functions | |
FGJSBBase () | |
Constructor for FGJSBBase. | |
virtual | ~FGJSBBase () |
Destructor for FGJSBBase. | |
void | disableHighLighting (void) |
Disables highlighting in the console output. | |
std::string | GetVersion (void) |
Returns the version number of JSBSim. More... | |
JSBSim Messaging functions | |
void | PutMessage (const Message &msg) |
Places a Message structure on the Message queue. More... | |
void | PutMessage (const std::string &text) |
Creates a message with the given text and places it on the queue. More... | |
void | PutMessage (const std::string &text, bool bVal) |
Creates a message with the given text and boolean value and places it on the queue. More... | |
void | PutMessage (const std::string &text, int iVal) |
Creates a message with the given text and integer value and places it on the queue. More... | |
void | PutMessage (const std::string &text, double dVal) |
Creates a message with the given text and double value and places it on the queue. More... | |
int | SomeMessages (void) |
Reads the message on the queue (but does not delete it). More... | |
void | ProcessMessage (void) |
Reads the message on the queue and removes it from the queue. More... | |
Message * | ProcessNextMessage (void) |
Reads the next message on the queue and removes it from the queue. More... | |
Static Public Member Functions | |
static double | CelsiusToFahrenheit (double celsius) |
Converts from degrees Celsius to degrees Fahrenheit. More... | |
static double | CelsiusToKelvin (double celsius) |
Converts from degrees Celsius to degrees Kelvin. More... | |
static double | CelsiusToRankine (double celsius) |
Converts from degrees Celsius to degrees Rankine. More... | |
static double | Constrain (double min, double value, double max) |
Constrain a value between a minimum and a maximum value. | |
static bool | EqualToRoundoff (double a, double b) |
Finite precision comparison. More... | |
static bool | EqualToRoundoff (float a, float b) |
Finite precision comparison. More... | |
static bool | EqualToRoundoff (float a, double b) |
Finite precision comparison. More... | |
static bool | EqualToRoundoff (double a, float b) |
Finite precision comparison. More... | |
static double | FahrenheitToCelsius (double fahrenheit) |
Converts from degrees Fahrenheit to degrees Celsius. More... | |
static double | FeetToMeters (double measure) |
Converts from feet to meters. More... | |
static double | GaussianRandomNumber (void) |
static double | KelvinToCelsius (double kelvin) |
Converts from degrees Kelvin to degrees Celsius. More... | |
static double | KelvinToFahrenheit (double kelvin) |
Converts from degrees Kelvin to degrees Fahrenheit. More... | |
static double | KelvinToRankine (double kelvin) |
Converts from degrees Kelvin to degrees Rankine. More... | |
static double | MachFromVcalibrated (double vcas, double p, double psl, double rhosl) |
Calculate the Mach number from the calibrated airspeed. More... | |
static double | PitotTotalPressure (double mach, double p) |
Compute the total pressure in front of the Pitot tube. More... | |
static double | RankineToCelsius (double rankine) |
Converts from degrees Rankine to degrees Celsius. More... | |
static double | RankineToKelvin (double rankine) |
Converts from degrees Rankine to degrees Kelvin. More... | |
static double | sign (double num) |
static double | VcalibratedFromMach (double mach, double p, double psl, double rhosl) |
Calculate the calibrated airspeed from the Mach number. More... | |
Static Public Attributes | |
static short | debug_lvl = 1 |
JSBSim console output highlighting terms. | |
static char | highint [5] = {27, '[', '1', 'm', '\0' } |
highlights text | |
static char | halfint [5] = {27, '[', '2', 'm', '\0' } |
low intensity text | |
static char | normint [6] = {27, '[', '2', '2', 'm', '\0' } |
normal intensity text | |
static char | reset [5] = {27, '[', '0', 'm', '\0' } |
resets text properties | |
static char | underon [5] = {27, '[', '4', 'm', '\0' } |
underlines text | |
static char | underoff [6] = {27, '[', '2', '4', 'm', '\0' } |
underline off | |
static char | fgblue [6] = {27, '[', '3', '4', 'm', '\0' } |
blue text | |
static char | fgcyan [6] = {27, '[', '3', '6', 'm', '\0' } |
cyan text | |
static char | fgred [6] = {27, '[', '3', '1', 'm', '\0' } |
red text | |
static char | fggreen [6] = {27, '[', '3', '2', 'm', '\0' } |
green text | |
static char | fgdef [6] = {27, '[', '3', '9', 'm', '\0' } |
default text | |
Protected Member Functions | |
void | Debug (int) |
Static Protected Member Functions | |
static std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
Static Protected Attributes | |
static const double | degtorad = 0.017453292519943295769236907684886 |
static const double | fpstokts = 1.0/ktstofps |
static const double | fttom = 0.3048 |
static int | gaussian_random_number_phase = 0 |
static const double | hptoftlbssec = 550.0 |
static const double | in3tom3 = 1.638706E-5 |
static const double | inchtoft = 0.08333333 |
static const double | inhgtopa = 3386.38 |
static const std::string | JSBSim_version = "1.0 " __DATE__ " " __TIME__ |
static const double | kgtolb = 2.20462 |
static const double | kgtoslug = 0.06852168 |
static const double | ktstofps = 1.68781 |
static const double | lbtoslug = 1.0/slugtolb |
static Message | localMsg |
static const double | m3toft3 = 1.0/(fttom*fttom*fttom) |
static double | Mair = 28.9645 |
static unsigned int | messageId = 0 |
static std::queue< Message > | Messages |
static const std::string | needed_cfg_version = "2.0" |
static const double | psftoinhg = 0.014138 |
static const double | psftopa = 47.88 |
static const double | radtodeg = 57.295779513082320876798154814105 |
static double | Reng = 1716.56 |
static double | Rstar = 1545.348 |
static const double | SHRatio = 1.40 |
static const double | slugtolb = 32.174049 |
JSBSim Base class.
This class provides universal constants, utility functions, messaging functions, and enumerated constants to JSBSim.
Definition at line 80 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Celsius to degrees Fahrenheit.
celsius | The temperature in degrees Celsius. |
Definition at line 239 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Celsius to degrees Kelvin.
celsius | The temperature in degrees Celsius. |
Definition at line 246 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Celsius to degrees Rankine.
celsius | The temperature in degrees Celsius. |
Definition at line 204 of file FGJSBBase.h.
|
inlinestatic |
Finite precision comparison.
a | first value to compare |
b | second value to compare |
Definition at line 300 of file FGJSBBase.h.
|
inlinestatic |
Finite precision comparison.
a | first value to compare |
b | second value to compare |
Definition at line 309 of file FGJSBBase.h.
|
inlinestatic |
Finite precision comparison.
a | first value to compare |
b | second value to compare |
Definition at line 318 of file FGJSBBase.h.
|
inlinestatic |
Finite precision comparison.
a | first value to compare |
b | second value to compare |
Definition at line 326 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Fahrenheit to degrees Celsius.
fahrenheit | The temperature in degrees Fahrenheit. |
Definition at line 232 of file FGJSBBase.h.
|
inlinestatic |
Converts from feet to meters.
measure | The length in feet. |
Definition at line 260 of file FGJSBBase.h.
|
inline |
Returns the version number of JSBSim.
Definition at line 187 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Kelvin to degrees Celsius.
celsius | The temperature in degrees Kelvin. |
Definition at line 253 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Kelvin to degrees Fahrenheit.
kelvin | The temperature in degrees Kelvin. |
Definition at line 197 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Kelvin to degrees Rankine.
kelvin | The temperature in degrees Kelvin. |
Definition at line 218 of file FGJSBBase.h.
|
static |
Calculate the Mach number from the calibrated airspeed.
For subsonic speeds, the reversed formula has a closed form. For supersonic speeds, the Rayleigh formula is reversed by the Newton-Raphson algorithm.
vcas | The calibrated airspeed (CAS) in ft/s |
p | Pressure in psf |
psl | Pressure at sea level in psf |
rhosl | Density at sea level in slugs/ft^3 |
Definition at line 315 of file FGJSBBase.cpp.
|
static |
Compute the total pressure in front of the Pitot tube.
It uses the Rayleigh formula for supersonic speeds (See "Introduction to Aerodynamics of a Compressible Fluid - H.W. Liepmann, A.E. Puckett - Wiley & sons (1947)" §5.4 pp 75-80)
mach | The Mach number |
p | Pressure in psf |
Definition at line 278 of file FGJSBBase.cpp.
void ProcessMessage | ( | void | ) |
Reads the message on the queue and removes it from the queue.
This function also prints out the message.
Definition at line 181 of file FGJSBBase.cpp.
FGJSBBase::Message * ProcessNextMessage | ( | void | ) |
Reads the next message on the queue and removes it from the queue.
This function also prints out the message.
Definition at line 213 of file FGJSBBase.cpp.
void PutMessage | ( | const Message & | msg | ) |
void PutMessage | ( | const std::string & | text | ) |
Creates a message with the given text and places it on the queue.
text | message text |
Definition at line 130 of file FGJSBBase.cpp.
void PutMessage | ( | const std::string & | text, |
bool | bVal | ||
) |
Creates a message with the given text and boolean value and places it on the queue.
text | message text |
bVal | boolean value associated with the message |
Definition at line 142 of file FGJSBBase.cpp.
void PutMessage | ( | const std::string & | text, |
int | iVal | ||
) |
Creates a message with the given text and integer value and places it on the queue.
text | message text |
iVal | integer value associated with the message |
Definition at line 155 of file FGJSBBase.cpp.
void PutMessage | ( | const std::string & | text, |
double | dVal | ||
) |
Creates a message with the given text and double value and places it on the queue.
text | message text |
dVal | double value associated with the message |
Definition at line 168 of file FGJSBBase.cpp.
|
inlinestatic |
Converts from degrees Rankine to degrees Celsius.
rankine | The temperature in degrees Rankine. |
Definition at line 211 of file FGJSBBase.h.
|
inlinestatic |
Converts from degrees Rankine to degrees Kelvin.
rankine | The temperature in degrees Rankine. |
Definition at line 225 of file FGJSBBase.h.
|
inline |
Reads the message on the queue (but does not delete it).
Definition at line 175 of file FGJSBBase.h.
|
static |
Calculate the calibrated airspeed from the Mach number.
It uses the Rayleigh formula for supersonic speeds (See "Introduction to Aerodynamics of a Compressible Fluid - H.W. Liepmann, A.E. Puckett - Wiley & sons (1947)" §5.4 pp 75-80)
mach | The Mach number |
p | Pressure in psf |
psl | Pressure at sea level in psf |
rhosl | Density at sea level in slugs/ft^3 |
Definition at line 305 of file FGJSBBase.cpp.