JSBSim Flight Dynamics Model
1.0 (02 March 2017)
An Open Source Flight Dynamics and Control Software Library in C++
|
Models the EOM and integration/propagation of state. More...
#include <FGPropagate.h>
Classes | |
struct | Inputs |
struct | VehicleState |
The current vehicle state vector structure contains the translational and angular position, and the translational and angular velocity. More... | |
Public Types | |
enum | eIntegrateType { eNone = 0, eRectEuler, eTrapezoidal, eAdamsBashforth2, eAdamsBashforth3, eAdamsBashforth4, eBuss1, eBuss2, eLocalLinearization, eAdamsBashforth5 } |
These define the indices use to select the various integrators. | |
Public Types inherited from FGJSBBase | |
enum | { eL = 1, eM, eN } |
Moments L, M, N. | |
enum | { eP = 1, eQ, eR } |
Rates P, Q, R. | |
enum | { eU = 1, eV, eW } |
Velocities U, V, W. | |
enum | { eX = 1, eY, eZ } |
Positions X, Y, Z. | |
enum | { ePhi = 1, eTht, ePsi } |
Euler angles Phi, Theta, Psi. | |
enum | { eDrag = 1, eSide, eLift } |
Stability axis forces, Drag, Side force, Lift. | |
enum | { eRoll = 1, ePitch, eYaw } |
Local frame orientation Roll, Pitch, Yaw. | |
enum | { eNorth = 1, eEast, eDown } |
Local frame position North, East, Down. | |
enum | { eLat = 1, eLong, eRad } |
Locations Radius, Latitude, Longitude. | |
enum | { inNone = 0, inDegrees, inRadians, inMeters, inFeet } |
Conversion specifiers. | |
Public Member Functions | |
FGPropagate (FGFDMExec *Executive) | |
Constructor. More... | |
~FGPropagate () | |
Destructor. | |
void | DumpState (void) |
double | GetAltitudeASL (void) const |
Returns the current altitude above sea level. More... | |
double | GetAltitudeASLmeters (void) const |
Returns the current altitude above sea level. More... | |
double | GetCosEuler (int idx) const |
Retrieves the cosine of a vehicle Euler angle component. More... | |
double | GetDistanceAGL (void) const |
double | GetDistanceAGLKm (void) const |
double | GetEarthPositionAngle (void) const |
double | GetEarthPositionAngleDeg (void) const |
FGColumnVector3 | GetECEFVelocity (void) const |
Calculates and retrieves the velocity vector relative to the earth centered earth fixed (ECEF) frame. | |
double | GetECEFVelocity (int idx) const |
Calculates and retrieves the velocity vector relative to the earth centered earth fixed (ECEF) frame for a particular axis. | |
const FGColumnVector3 & | GetEuler (void) const |
Retrieves the Euler angles that define the vehicle orientation. More... | |
double | GetEuler (int axis) const |
Retrieves a vehicle Euler angle component. More... | |
FGColumnVector3 | GetEulerDeg (void) const |
Retrieves the Euler angles (in degrees) that define the vehicle orientation. More... | |
double | GetEulerDeg (int axis) const |
Retrieves a vehicle Euler angle component in degrees. More... | |
double | GetGeodeticAltitude (void) const |
double | GetGeodeticAltitudeKm (void) const |
double | GetGeodLatitudeDeg (void) const |
double | GetGeodLatitudeRad (void) const |
double | Gethdot (void) const |
Returns the current altitude rate. More... | |
const FGColumnVector3 & | GetInertialPosition (void) const |
Retrieves the inertial position vector. | |
double | GetInertialPosition (int i) const |
const FGColumnVector3 & | GetInertialVelocity (void) const |
Retrieves the inertial velocity vector in ft/sec. | |
double | GetInertialVelocity (int i) const |
double | GetInertialVelocityMagnitude (void) const |
Retrieves the total inertial velocity in ft/sec. | |
double | GetLatitude (void) const |
double | GetLatitudeDeg (void) const |
double | GetLocalTerrainRadius (void) const |
Returns the "constant" LocalTerrainRadius. More... | |
const FGLocation & | GetLocation (void) const |
double | GetLocation (int i) const |
double | GetLongitude (void) const |
double | GetLongitudeDeg (void) const |
double | GetNEDVelocityMagnitude (void) const |
Retrieves the total local NED velocity in ft/sec. | |
const FGColumnVector3 & | GetPQR (void) const |
Retrieves the body angular rates vector, relative to the ECEF frame. More... | |
double | GetPQR (int axis) const |
Retrieves a body frame angular velocity component relative to the ECEF frame. More... | |
const FGColumnVector3 & | GetPQRi (void) const |
Retrieves the body angular rates vector, relative to the ECI (inertial) frame. More... | |
double | GetPQRi (int axis) const |
Retrieves a body frame angular velocity component relative to the ECI (inertial) frame. More... | |
const FGQuaternion | GetQuaternion (void) const |
Returns the quaternion that goes from Local to Body. More... | |
const FGQuaternion & | GetQuaterniondot (void) const |
Retrieves the time derivative of the body orientation quaternion. More... | |
const FGQuaternion | GetQuaternionECEF (void) const |
Returns the quaternion that goes from ECEF to Body. More... | |
const FGQuaternion | GetQuaternionECI (void) const |
Returns the quaternion that goes from ECI to Body. More... | |
double | GetRadius (void) const |
double | GetSinEuler (int idx) const |
Retrieves the sine of a vehicle Euler angle component. More... | |
const FGMatrix33 & | GetTb2ec (void) const |
Retrieves the body-to-ECEF transformation matrix. More... | |
const FGMatrix33 & | GetTb2i (void) const |
Retrieves the body-to-ECI transformation matrix. More... | |
const FGMatrix33 & | GetTb2l (void) const |
Retrieves the body-to-local transformation matrix. More... | |
const FGMatrix33 & | GetTec2b (void) const |
Retrieves the ECEF-to-body transformation matrix. More... | |
const FGMatrix33 & | GetTec2i (void) const |
Retrieves the ECEF-to-ECI transformation matrix. More... | |
const FGMatrix33 & | GetTec2l (void) const |
Retrieves the ECEF-to-local transformation matrix. More... | |
const FGColumnVector3 & | GetTerrainAngularVelocity (void) const |
double | GetTerrainElevation (void) const |
const FGColumnVector3 & | GetTerrainVelocity (void) const |
const FGMatrix33 & | GetTi2b (void) const |
Retrieves the ECI-to-body transformation matrix. More... | |
const FGMatrix33 & | GetTi2ec (void) const |
Retrieves the ECI-to-ECEF transformation matrix. More... | |
const FGMatrix33 & | GetTi2l (void) const |
Retrieves the inertial-to-local transformation matrix. More... | |
const FGMatrix33 & | GetTl2b (void) const |
Retrieves the local-to-body transformation matrix. More... | |
const FGMatrix33 & | GetTl2ec (void) const |
Retrieves the local-to-ECEF transformation matrix. More... | |
const FGMatrix33 & | GetTl2i (void) const |
Retrieves the local-to-inertial transformation matrix. More... | |
const FGColumnVector3 & | GetUVW (void) const |
Retrieves the body frame vehicle velocity vector. More... | |
double | GetUVW (int idx) const |
Retrieves a body frame velocity component. More... | |
const FGColumnVector3 & | GetVel (void) const |
Retrieves the velocity vector. More... | |
double | GetVel (int idx) const |
Retrieves a Local frame velocity component. More... | |
const VehicleState & | GetVState (void) const |
void | InitializeDerivatives () |
bool | InitModel (void) |
Initializes the FGPropagate class after instantiation and prior to first execution. More... | |
void | NudgeBodyLocation (const FGColumnVector3 &deltaLoc) |
void | RecomputeLocalTerrainVelocity () |
bool | Run (bool Holding) |
Runs the state propagation model; called by the Executive Can pass in a value indicating if the executive is directing the simulation to Hold. More... | |
void | SetAltitudeASL (double altASL) |
void | SetAltitudeASLmeters (double altASL) |
void | SetDistanceAGL (double tt) |
void | SetDistanceAGLKm (double tt) |
void | SetEarthPositionAngle (double epa) |
void | SetHoldDown (bool hd) |
Sets the property forces/hold-down. More... | |
void | SetInertialOrientation (const FGQuaternion &Qi) |
void | SetInertialRates (const FGColumnVector3 &vRates) |
void | SetInertialVelocity (const FGColumnVector3 &Vi) |
void | SetInitialState (const FGInitialCondition *) |
void | SetLatitude (double lat) |
void | SetLatitudeDeg (double lat) |
void | SetLocation (const FGLocation &l) |
void | SetLocation (const FGColumnVector3 &lv) |
void | SetLongitude (double lon) |
void | SetLongitudeDeg (double lon) |
void | SetPosition (const double Lon, const double Lat, const double Radius) |
void | SetPQR (unsigned int i, double val) |
void | SetRadius (double r) |
void | SetSeaLevelRadius (double tt) |
void | SetTerrainElevation (double tt) |
void | SetUVW (unsigned int i, double val) |
void | SetVState (const VehicleState &vstate) |
Public Member Functions inherited from FGModel | |
FGModel (FGFDMExec *) | |
Constructor. | |
virtual | ~FGModel () |
Destructor. | |
virtual SGPath | FindFullPathName (const SGPath &path) const |
FGFDMExec * | GetExec (void) |
unsigned int | GetRate (void) |
Get the output rate for the model in frames. | |
void | SetPropertyManager (FGPropertyManager *fgpm) |
void | SetRate (unsigned int tt) |
Set the ouput rate for the model in frames. | |
Public Member Functions inherited from FGModelFunctions | |
std::string | GetFunctionStrings (const std::string &delimeter) const |
Gets the strings for the current set of functions. More... | |
std::string | GetFunctionValues (const std::string &delimeter) const |
Gets the function values. More... | |
FGFunction * | GetPreFunction (const std::string &name) |
Get one of the "pre" function. More... | |
bool | Load (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
void | PostLoad (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
void | PreLoad (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
void | RunPostFunctions (void) |
void | RunPreFunctions (void) |
Public Member Functions inherited from FGJSBBase | |
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... | |
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... | |
Public Attributes | |
struct JSBSim::FGPropagate::Inputs | in |
Public Attributes inherited from FGModel | |
std::string | Name |
Additional Inherited Members | |
Static Public Member Functions inherited from FGJSBBase | |
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 inherited from FGJSBBase | |
static short | debug_lvl = 1 |
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 inherited from FGModel | |
virtual bool | Load (Element *el) |
Loads this model. More... | |
Protected Member Functions inherited from FGJSBBase | |
void | Debug (int) |
Static Protected Member Functions inherited from FGJSBBase | |
static std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
Protected Attributes inherited from FGModel | |
unsigned int | exe_ctr |
FGFDMExec * | FDMExec |
FGPropertyManager * | PropertyManager |
unsigned int | rate |
Protected Attributes inherited from FGModelFunctions | |
FGPropertyReader | LocalProperties |
std::vector< FGFunction * > | PostFunctions |
std::vector< FGFunction * > | PreFunctions |
Static Protected Attributes inherited from FGJSBBase | |
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 |
Models the EOM and integration/propagation of state.
The Equations of Motion (EOM) for JSBSim are integrated to propagate the state of the vehicle given the forces and moments that act on it. The integration accounts for a rotating Earth.
Integration of rotational and translation position and rate can be customized as needed or frozen by the selection of no integrator. The selection of which integrator to use is done through the setting of the associated property. There are four properties which can be set:
Each of the integrators listed above can be set to one of the following values:
Definition at line 102 of file FGPropagate.h.
FGPropagate | ( | FGFDMExec * | Executive | ) |
Constructor.
The constructor initializes several variables, and sets the initial set of integrators to use as follows:
Executive | a pointer to the parent executive object |
These define the indices use to select the various integrators.
Definition at line 89 of file FGPropagate.cpp.
|
inline |
Returns the current altitude above sea level.
This function returns the altitude above sea level. units ft
Definition at line 337 of file FGPropagate.h.
|
inline |
Returns the current altitude above sea level.
This function returns the altitude above sea level. units meters
Definition at line 344 of file FGPropagate.h.
|
inline |
Retrieves the cosine of a vehicle Euler angle component.
Retrieves the cosine of an Euler angle (Phi, Theta, or Psi) from the quaternion that stores the vehicle orientation relative to the Local frame. The order of rotations used is Yaw-Pitch-Roll. The Euler angle with subscript (1) is Phi. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the Euler angle referred to in this call are, ePhi=1, eTht=2, ePsi=3 (e.g. GetCosEuler(eTht) returns cos(theta)). units none
Definition at line 406 of file FGPropagate.h.
|
inline |
Retrieves the Euler angles that define the vehicle orientation.
Extracts the Euler angles from the quaternion that stores the orientation in the Local frame. The order of rotation used is Yaw-Pitch-Roll. The vector returned is represented by an FGColumnVector reference. The vector for the Euler angles is organized (Phi, Theta, Psi). The vector is 1-based, so that the first element can be retrieved using the "()" operator. In other words, the returned vector item with subscript (1) is Phi. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the vector returned by this call are, ePhi=1, eTht=2, ePsi=3. units radians
Definition at line 260 of file FGPropagate.h.
|
inline |
Retrieves a vehicle Euler angle component.
Retrieves an Euler angle (Phi, Theta, or Psi) from the quaternion that stores the vehicle orientation relative to the Local frame. The order of rotations used is Yaw-Pitch-Roll. The Euler angle with subscript (1) is Phi. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the Euler angle returned by this call are, ePhi=1, eTht=2, ePsi=3 (e.g. GetEuler(eTht) returns Theta). units radians
Definition at line 382 of file FGPropagate.h.
FGColumnVector3 GetEulerDeg | ( | void | ) | const |
Retrieves the Euler angles (in degrees) that define the vehicle orientation.
Extracts the Euler angles from the quaternion that stores the orientation in the Local frame. The order of rotation used is Yaw-Pitch-Roll. The vector returned is represented by an FGColumnVector reference. The vector for the Euler angles is organized (Phi, Theta, Psi). The vector is 1-based, so that the first element can be retrieved using the "()" operator. In other words, the returned vector item with subscript (1) is Phi. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the vector returned by this call are, ePhi=1, eTht=2, ePsi=3. units degrees
Definition at line 618 of file FGPropagate.cpp.
|
inline |
Retrieves a vehicle Euler angle component in degrees.
Retrieves an Euler angle (Phi, Theta, or Psi) from the quaternion that stores the vehicle orientation relative to the Local frame. The order of rotations used is Yaw-Pitch-Roll. The Euler angle with subscript (1) is Phi. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the Euler angle returned by this call are, ePhi=1, eTht=2, ePsi=3 (e.g. GetEuler(eTht) returns Theta). units degrees
Definition at line 394 of file FGPropagate.h.
|
inline |
Returns the current altitude rate.
Returns the current altitude rate (rate of climb). units ft/sec
Definition at line 425 of file FGPropagate.h.
double GetLocalTerrainRadius | ( | void | ) | const |
Returns the "constant" LocalTerrainRadius.
The LocalTerrainRadius parameter is set by the calling application or set to sea level + terrain elevation if JSBSim is running in standalone mode. units feet
Definition at line 540 of file FGPropagate.cpp.
|
inline |
Retrieves the body angular rates vector, relative to the ECEF frame.
Retrieves the body angular rates (p, q, r), which are calculated by integration of the angular acceleration. The vector returned is represented by an FGColumnVector reference. The vector for the angular velocity in Body frame is organized (P, Q, R). The vector is 1-based, so that the first element can be retrieved using the "()" operator. In other words, vPQR(1) is P. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the vector returned by this call are, eP=1, eQ=2, eR=3. units rad/sec
Definition at line 218 of file FGPropagate.h.
|
inline |
Retrieves a body frame angular velocity component relative to the ECEF frame.
Retrieves a body frame angular velocity component. The angular velocity returned is extracted from the vPQR vector (an FGColumnVector). The vector for the angular velocity in Body frame is organized (P, Q, R). The vector is 1-based. In other words, GetPQR(1) returns P (roll rate). Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the angular velocity returned by this call are, eP=1, eQ=2, eR=3. units rad/sec
axis | the index of the angular velocity component desired (1-based). |
Definition at line 357 of file FGPropagate.h.
|
inline |
Retrieves the body angular rates vector, relative to the ECI (inertial) frame.
Retrieves the body angular rates (p, q, r), which are calculated by integration of the angular acceleration. The vector returned is represented by an FGColumnVector reference. The vector for the angular velocity in Body frame is organized (P, Q, R). The vector is 1-based, so that the first element can be retrieved using the "()" operator. In other words, vPQR(1) is P. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the vector returned by this call are, eP=1, eQ=2, eR=3. units rad/sec
Definition at line 232 of file FGPropagate.h.
|
inline |
Retrieves a body frame angular velocity component relative to the ECI (inertial) frame.
Retrieves a body frame angular velocity component. The angular velocity returned is extracted from the vPQR vector (an FGColumnVector). The vector for the angular velocity in Body frame is organized (P, Q, R). The vector is 1-based. In other words, GetPQR(1) returns P (roll rate). Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the angular velocity returned by this call are, eP=1, eQ=2, eR=3. units rad/sec
axis | the index of the angular velocity component desired (1-based). |
Definition at line 370 of file FGPropagate.h.
|
inline |
Returns the quaternion that goes from Local to Body.
Definition at line 531 of file FGPropagate.h.
|
inline |
Retrieves the time derivative of the body orientation quaternion.
Retrieves the time derivative of the body orientation quaternion based on the rate of change of the orientation between the body and the ECI frame. The quaternion returned is represented by an FGQuaternion reference. The quaternion is 1-based, so that the first element can be retrieved using the "()" operator. units rad/sec^2
Definition at line 243 of file FGPropagate.h.
|
inline |
Returns the quaternion that goes from ECEF to Body.
Definition at line 537 of file FGPropagate.h.
|
inline |
Returns the quaternion that goes from ECI to Body.
Definition at line 534 of file FGPropagate.h.
|
inline |
Retrieves the sine of a vehicle Euler angle component.
Retrieves the sine of an Euler angle (Phi, Theta, or Psi) from the quaternion that stores the vehicle orientation relative to the Local frame. The order of rotations used is Yaw-Pitch-Roll. The Euler angle with subscript (1) is Phi. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the Euler angle referred to in this call are, ePhi=1, eTht=2, ePsi=3 (e.g. GetSinEuler(eTht) returns sin(theta)). units none
Definition at line 418 of file FGPropagate.h.
|
inline |
Retrieves the body-to-ECEF transformation matrix.
Definition at line 482 of file FGPropagate.h.
|
inline |
Retrieves the body-to-ECI transformation matrix.
Definition at line 490 of file FGPropagate.h.
|
inline |
Retrieves the body-to-local transformation matrix.
The quaternion class, being the means by which the orientation of the vehicle is stored, manages the body-to-local transformation matrix.
Definition at line 474 of file FGPropagate.h.
|
inline |
Retrieves the ECEF-to-body transformation matrix.
Definition at line 478 of file FGPropagate.h.
|
inline |
Retrieves the ECEF-to-ECI transformation matrix.
Definition at line 494 of file FGPropagate.h.
|
inline |
Retrieves the ECEF-to-local transformation matrix.
Retrieves the ECEF-to-local transformation matrix. Note that the so-called local from is also know as the NED frame (for North, East, Down).
Definition at line 504 of file FGPropagate.h.
|
inline |
Retrieves the ECI-to-body transformation matrix.
Definition at line 486 of file FGPropagate.h.
|
inline |
Retrieves the ECI-to-ECEF transformation matrix.
Definition at line 498 of file FGPropagate.h.
|
inline |
Retrieves the inertial-to-local transformation matrix.
Definition at line 518 of file FGPropagate.h.
|
inline |
Retrieves the local-to-body transformation matrix.
The quaternion class, being the means by which the orientation of the vehicle is stored, manages the local-to-body transformation matrix.
Definition at line 468 of file FGPropagate.h.
|
inline |
Retrieves the local-to-ECEF transformation matrix.
Retrieves the local-to-ECEF transformation matrix. Note that the so-called local from is also know as the NED frame (for North, East, Down).
Definition at line 510 of file FGPropagate.h.
|
inline |
Retrieves the local-to-inertial transformation matrix.
Definition at line 514 of file FGPropagate.h.
|
inline |
Retrieves the body frame vehicle velocity vector.
The vector returned is represented by an FGColumnVector reference. The vector for the velocity in Body frame is organized (Vx, Vy, Vz). The vector is 1-based, so that the first element can be retrieved using the "()" operator. In other words, vUVW(1) is Vx. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the vector returned by this call are, eX=1, eY=2, eZ=3. units ft/sec
Definition at line 204 of file FGPropagate.h.
|
inline |
Retrieves a body frame velocity component.
Retrieves a body frame velocity component. The velocity returned is extracted from the vUVW vector (an FGColumnVector). The vector for the velocity in Body frame is organized (Vx, Vy, Vz). The vector is 1-based. In other words, GetUVW(1) returns Vx. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the velocity returned by this call are, eX=1, eY=2, eZ=3. units ft/sec
idx | the index of the velocity component desired (1-based). |
Definition at line 290 of file FGPropagate.h.
|
inline |
Retrieves the velocity vector.
The vector returned is represented by an FGColumnVector reference. The vector for the velocity in Local frame is organized (Vnorth, Veast, Vdown). The vector is 1-based, so that the first element can be retrieved using the "()" operator. In other words, vVel(1) is Vnorth. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the vector returned by this call are, eNorth=1, eEast=2, eDown=3. units ft/sec
Definition at line 192 of file FGPropagate.h.
|
inline |
Retrieves a Local frame velocity component.
Retrieves a Local frame velocity component. The velocity returned is extracted from the vVel vector (an FGColumnVector). The vector for the velocity in Local frame is organized (Vnorth, Veast, Vdown). The vector is 1-based. In other words, GetVel(1) returns Vnorth. Various convenience enumerators are defined in FGJSBBase. The relevant enumerators for the velocity returned by this call are, eNorth=1, eEast=2, eDown=3. units ft/sec
idx | the index of the velocity component desired (1-based). |
Definition at line 303 of file FGPropagate.h.
|
virtual |
Initializes the FGPropagate class after instantiation and prior to first execution.
The base class FGModel::InitModel is called first, initializing pointers to the other FGModel objects (and others).
Reimplemented from FGModel.
Definition at line 121 of file FGPropagate.cpp.
|
virtual |
Runs the state propagation model; called by the Executive Can pass in a value indicating if the executive is directing the simulation to Hold.
Holding | if true, the executive has been directed to hold the sim from advancing time. Some models may ignore this flag, such as the Input model, which may need to be active to listen on a socket for the "Resume" command to be given. |
Reimplemented from FGModel.
Definition at line 216 of file FGPropagate.cpp.
void SetHoldDown | ( | bool | hd | ) |
Sets the property forces/hold-down.
This allows to do hard 'hold-down' such as for rockets on a launch pad with engines ignited.
hd | enables the 'hold-down' function if non-zero |
Definition at line 275 of file FGPropagate.cpp.