FlightGear next
FGInterface Class Reference

#include <flight.hxx>

Inherits SGSubsystem.

Inherited by FGACMS, FGADA, FGBalloonSim, FGExternalNet, FGExternalPipe, FGJSBsim, FGMagicCarpet, FGNullFDM, FGUFO, and YASim.

Public Types

enum  {
  FG_MAGICCARPET = 0 , FG_LARCSIM = 1 , FG_JSBSIM = 2 , FG_BALLOONSIM = 3 ,
  FG_ADA = 4 , FG_ACM = 5 , FG_SUPER_SONIC = 6 , FG_HELICOPTER = 7 ,
  FG_AUTOGYRO = 8 , FG_PARACHUTE = 9 , FG_EXTERNAL = 10
}
 

Public Member Functions

 FGInterface ()
 
 FGInterface (double dt)
 
virtual ~FGInterface ()
 
void bind () override
 Bind getters and setters to properties.
 
void init () override
 
void unbind () override
 Unbind any properties bound to this FDM.
 
void update (double dt) override
 Update the state of the FDM (i.e.
 
virtual bool ToggleDataLogging (bool state)
 
virtual bool ToggleDataLogging (void)
 
bool readState (SGIOChannel *io)
 
bool writeState (SGIOChannel *io)
 
bool get_inited () const
 
void set_inited (bool value)
 
bool get_bound () const
 
void common_init ()
 Initialize the state of the FDM.
 
virtual void property_associations (std::function< void(const std::string &from, const std::string &to)> fn)
 
virtual void set_Latitude (double lat)
 
virtual void set_Longitude (double lon)
 
virtual void set_Altitude (double alt)
 
virtual void set_AltitudeAGL (double altagl)
 
virtual void set_Latitude_deg (double lat)
 
virtual void set_Longitude_deg (double lon)
 
virtual void set_V_calibrated_kts (double vc)
 
virtual void set_Mach_number (double mach)
 
virtual void set_Velocities_Local (double north, double east, double down)
 
void set_V_north (double north)
 
void set_V_east (double east)
 
void set_V_down (double down)
 
virtual void set_Velocities_Body (double u, double v, double w)
 
virtual void set_uBody (double uBody)
 
virtual void set_vBody (double vBody)
 
virtual void set_wBody (double wBody)
 
virtual void set_Euler_Angles (double phi, double theta, double psi)
 
virtual void set_Phi (double phi)
 
virtual void set_Theta (double theta)
 
virtual void set_Psi (double psi)
 
virtual void set_Phi_deg (double phi)
 
virtual void set_Theta_deg (double theta)
 
virtual void set_Psi_deg (double psi)
 
virtual void set_Climb_Rate (double roc)
 
virtual void set_Gamma_vert_rad (double gamma)
 
virtual void set_Static_pressure (double p)
 
virtual void set_Static_temperature (double T)
 
virtual void set_Density (double rho)
 
virtual void set_Velocities_Local_Airmass (double wnorth, double weast, double wdown)
 
double get_Dx_cg () const
 
double get_Dy_cg () const
 
double get_Dz_cg () const
 
double get_V_dot_north () const
 
double get_V_dot_east () const
 
double get_V_dot_down () const
 
double get_U_dot_body () const
 
double get_V_dot_body () const
 
double get_W_dot_body () const
 
double get_A_X_cg () const
 
double get_A_Y_cg () const
 
double get_A_Z_cg () const
 
double get_A_X_pilot () const
 
double get_A_Y_pilot () const
 
double get_A_Z_pilot () const
 
double get_N_X_cg () const
 
double get_N_Y_cg () const
 
double get_N_Z_cg () const
 
double get_Nlf (void) const
 
double get_V_north () const
 
double get_V_east () const
 
double get_V_down () const
 
double get_uBody () const
 
double get_vBody () const
 
double get_wBody () const
 
double get_V_north_rel_ground () const
 
double get_V_east_rel_ground () const
 
double get_V_down_rel_ground () const
 
double get_V_north_airmass () const
 
double get_V_east_airmass () const
 
double get_V_down_airmass () const
 
double get_U_body () const
 
double get_V_body () const
 
double get_W_body () const
 
double get_V_rel_wind () const
 
double get_V_true_kts () const
 
double get_V_ground_speed () const
 
double get_V_ground_speed_kt () const
 
void set_V_ground_speed_kt (double ground_speed)
 
double get_V_equiv_kts () const
 
double get_V_calibrated_kts () const
 
double get_P_body () const
 
double get_Q_body () const
 
double get_R_body () const
 
double get_Phi_dot () const
 
double get_Theta_dot () const
 
double get_Psi_dot () const
 
double get_Phi_dot_degps () const
 
double get_Theta_dot_degps () const
 
double get_Psi_dot_degps () const
 
double get_Latitude_dot () const
 
double get_Longitude_dot () const
 
double get_Radius_dot () const
 
double get_Lat_geocentric () const
 
double get_Lon_geocentric () const
 
double get_Radius_to_vehicle () const
 
const SGGeod & getPosition () const
 
const SGGeoc & getGeocPosition () const
 
const SGVec3d & getCartPosition () const
 
double get_Latitude () const
 
double get_Longitude () const
 
double get_Altitude () const
 
double get_Altitude_AGL (void) const
 
double get_Track (void) const
 
double get_Path (void) const
 
double get_Latitude_deg () const
 
double get_Longitude_deg () const
 
double get_Phi () const
 
double get_Theta () const
 
double get_Psi () const
 
double get_Phi_deg () const
 
double get_Theta_deg () const
 
double get_Psi_deg () const
 
double get_Alpha () const
 
double get_Alpha_deg () const
 
double get_Beta () const
 
double get_Beta_deg () const
 
double get_Gamma_vert_rad () const
 
double get_Density () const
 
double get_Mach_number () const
 
double get_Static_pressure () const
 
double get_Total_pressure () const
 
double get_Dynamic_pressure () const
 
double get_Static_temperature () const
 
double get_Total_temperature () const
 
double get_Sea_level_radius () const
 
double get_Earth_position_angle () const
 
double get_Runway_altitude () const
 
double get_Runway_altitude_m () const
 
double get_Climb_Rate () const
 
double get_ground_elev_ft () const
 
bool prepare_ground_cache_m (double startSimTime, double endSimTime, const double pt[3], double rad)
 
bool prepare_ground_cache_ft (double startSimTime, double endSimTime, const double pt[3], double rad)
 
bool is_valid_m (double *ref_time, double pt[3], double *rad)
 
bool is_valid_ft (double *ref_time, double pt[3], double *rad)
 
double get_cat_m (double t, const double pt[3], double end[2][3], double vel[2][3])
 
double get_cat_ft (double t, const double pt[3], double end[2][3], double vel[2][3])
 
bool get_body_m (double t, simgear::BVHNode::Id id, double bodyToWorld[16], double linearVel[3], double angularVel[3])
 
bool get_agl_m (double t, const double pt[3], double max_altoff, double contact[3], double normal[3], double linearVel[3], double angularVel[3], simgear::BVHMaterial const *&material, simgear::BVHNode::Id &id)
 
bool get_agl_ft (double t, const double pt[3], double max_altoff, double contact[3], double normal[3], double linearVel[3], double angularVel[3], simgear::BVHMaterial const *&material, simgear::BVHNode::Id &id)
 
double get_groundlevel_m (double lat, double lon, double alt)
 
double get_groundlevel_m (const SGGeod &geod)
 
bool get_nearest_m (double t, const double pt[3], double maxDist, double contact[3], double normal[3], double linearVel[3], double angularVel[3], simgear::BVHMaterial const *&material, simgear::BVHNode::Id &id)
 
bool get_nearest_ft (double t, const double pt[3], double maxDist, double contact[3], double normal[3], double linearVel[3], double angularVel[3], simgear::BVHMaterial const *&material, simgear::BVHNode::Id &id)
 
bool caught_wire_m (double t, const double pt[4][3])
 
bool caught_wire_ft (double t, const double pt[4][3])
 
bool get_wire_ends_m (double t, double end[2][3], double vel[2][3])
 
bool get_wire_ends_ft (double t, double end[2][3], double vel[2][3])
 
void release_wire (void)
 
bool updateGroundReactions (simgear::BVHMaterial const *&material)
 
void setHeading (float h)
 
void setPosition (double pt[3])
 
float getPressure ()
 
float getBumpiness ()
 
float getGroundDisplacement ()
 
float getStaticFrictionFactor ()
 
float getRolingFrictionFactor ()
 
bool getSolid ()
 
void add_ai_wake (FGAIAircraft *ai)
 
void reset_wake_group (void)
 
const AIWakeGroupget_wake_group (void)
 

Protected Member Functions

int _calc_multiloop (double dt)
 
void _setup ()
 Set default values for the state of the FDM.
 
void _busdump (void)
 
void _updatePositionM (const SGVec3d &cartPos)
 
void _updatePositionFt (const SGVec3d &cartPos)
 
void _updatePosition (const SGGeod &geod)
 
void _updatePosition (const SGGeoc &geoc)
 
void _updateGeodeticPosition (double lat, double lon, double alt)
 
void _updateGeocentricPosition (double lat_geoc, double lon, double alt)
 
void _update_ground_elev_at_pos (void)
 
void _set_CG_Position (double dx, double dy, double dz)
 
void _set_Accels_Local (double north, double east, double down)
 
void _set_Accels_Body (double u, double v, double w)
 
void _set_Accels_CG_Body (double x, double y, double z)
 
void _set_Accels_Pilot_Body (double x, double y, double z)
 
void _set_Accels_CG_Body_N (double x, double y, double z)
 
void _set_Nlf (double n)
 
void _set_Velocities_Local (double north, double east, double down)
 
void _set_Velocities_Ground (double north, double east, double down)
 
void _set_Velocities_Local_Airmass (double north, double east, double down)
 
void _set_Velocities_Body (double u, double v, double w)
 
void _set_V_rel_wind (double vt)
 
void _set_V_ground_speed (double v)
 
void _set_V_equiv_kts (double kts)
 
void _set_V_calibrated_kts (double kts)
 
void _set_Omega_Body (double p, double q, double r)
 
void _set_Euler_Rates (double phi, double theta, double psi)
 
void set_Phi_dot_degps (double x)
 
void set_Theta_dot_degps (double x)
 
void set_Psi_dot_degps (double x)
 
void _set_Geocentric_Rates (double lat, double lon, double rad)
 
void _set_Geocentric_Position (double lat, double lon, double rad)
 
void _set_Altitude (double altitude)
 
void _set_Altitude_AGL (double agl)
 
void _set_Geodetic_Position (double lat, double lon)
 
void _set_Geodetic_Position (double lat, double lon, double alt)
 
void _set_Euler_Angles (double phi, double theta, double psi)
 
void _set_T_Local_to_Body (int i, int j, double value)
 
void _set_Alpha (double a)
 
void _set_Beta (double b)
 
void set_Alpha_deg (double a)
 
void _set_Gamma_vert_rad (double gv)
 
void _set_Density (double d)
 
void _set_Mach_number (double m)
 
void _set_Static_pressure (double sp)
 
void _set_Static_temperature (double t)
 
void _set_Total_temperature (double tat)
 
void _set_Sea_level_radius (double r)
 
void _set_Earth_position_angle (double a)
 
void _set_Runway_altitude (double alt)
 
void _set_Climb_Rate (double rate)
 

Detailed Description

Definition at line 133 of file flight.hxx.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
FG_MAGICCARPET 
FG_LARCSIM 
FG_JSBSIM 
FG_BALLOONSIM 
FG_ADA 
FG_ACM 
FG_SUPER_SONIC 
FG_HELICOPTER 
FG_AUTOGYRO 
FG_PARACHUTE 
FG_EXTERNAL 

Definition at line 409 of file flight.hxx.

Constructor & Destructor Documentation

◆ FGInterface() [1/2]

FGInterface::FGInterface ( )

Definition at line 49 of file flight.cxx.

◆ FGInterface() [2/2]

FGInterface::FGInterface ( double dt)

Definition at line 54 of file flight.cxx.

◆ ~FGInterface()

FGInterface::~FGInterface ( )
virtual

Definition at line 60 of file flight.cxx.

Member Function Documentation

◆ _busdump()

void FGInterface::_busdump ( void )
protected

Definition at line 618 of file flight.cxx.

◆ _calc_multiloop()

int FGInterface::_calc_multiloop ( double dt)
protected

Definition at line 65 of file flight.cxx.

◆ _set_Accels_Body()

void FGInterface::_set_Accels_Body ( double u,
double v,
double w )
inlineprotected

Definition at line 260 of file flight.hxx.

◆ _set_Accels_CG_Body()

void FGInterface::_set_Accels_CG_Body ( double x,
double y,
double z )
inlineprotected

Definition at line 265 of file flight.hxx.

◆ _set_Accels_CG_Body_N()

void FGInterface::_set_Accels_CG_Body_N ( double x,
double y,
double z )
inlineprotected

Definition at line 275 of file flight.hxx.

◆ _set_Accels_Local()

void FGInterface::_set_Accels_Local ( double north,
double east,
double down )
inlineprotected

Definition at line 255 of file flight.hxx.

◆ _set_Accels_Pilot_Body()

void FGInterface::_set_Accels_Pilot_Body ( double x,
double y,
double z )
inlineprotected

Definition at line 270 of file flight.hxx.

◆ _set_Alpha()

void FGInterface::_set_Alpha ( double a)
inlineprotected

Definition at line 375 of file flight.hxx.

◆ _set_Altitude()

void FGInterface::_set_Altitude ( double altitude)
inlineprotected

Definition at line 353 of file flight.hxx.

◆ _set_Altitude_AGL()

void FGInterface::_set_Altitude_AGL ( double agl)
inlineprotected

Definition at line 356 of file flight.hxx.

◆ _set_Beta()

void FGInterface::_set_Beta ( double b)
inlineprotected

Definition at line 376 of file flight.hxx.

◆ _set_CG_Position()

void FGInterface::_set_CG_Position ( double dx,
double dy,
double dz )
inlineprotected

Definition at line 250 of file flight.hxx.

◆ _set_Climb_Rate()

void FGInterface::_set_Climb_Rate ( double rate)
inlineprotected

Definition at line 389 of file flight.hxx.

◆ _set_Density()

void FGInterface::_set_Density ( double d)
inlineprotected

Definition at line 381 of file flight.hxx.

◆ _set_Earth_position_angle()

void FGInterface::_set_Earth_position_angle ( double a)
inlineprotected

Definition at line 387 of file flight.hxx.

◆ _set_Euler_Angles()

void FGInterface::_set_Euler_Angles ( double phi,
double theta,
double psi )
inlineprotected

Definition at line 368 of file flight.hxx.

◆ _set_Euler_Rates()

void FGInterface::_set_Euler_Rates ( double phi,
double theta,
double psi )
inlineprotected

Definition at line 312 of file flight.hxx.

◆ _set_Gamma_vert_rad()

void FGInterface::_set_Gamma_vert_rad ( double gv)
inlineprotected

Definition at line 380 of file flight.hxx.

◆ _set_Geocentric_Position()

void FGInterface::_set_Geocentric_Position ( double lat,
double lon,
double rad )
inlineprotected

Definition at line 338 of file flight.hxx.

◆ _set_Geocentric_Rates()

void FGInterface::_set_Geocentric_Rates ( double lat,
double lon,
double rad )
inlineprotected

Definition at line 333 of file flight.hxx.

◆ _set_Geodetic_Position() [1/2]

void FGInterface::_set_Geodetic_Position ( double lat,
double lon )
inlineprotected

Definition at line 359 of file flight.hxx.

◆ _set_Geodetic_Position() [2/2]

void FGInterface::_set_Geodetic_Position ( double lat,
double lon,
double alt )
inlineprotected

Definition at line 362 of file flight.hxx.

◆ _set_Mach_number()

void FGInterface::_set_Mach_number ( double m)
inlineprotected

Definition at line 382 of file flight.hxx.

◆ _set_Nlf()

void FGInterface::_set_Nlf ( double n)
inlineprotected

Definition at line 280 of file flight.hxx.

◆ _set_Omega_Body()

void FGInterface::_set_Omega_Body ( double p,
double q,
double r )
inlineprotected

Definition at line 307 of file flight.hxx.

◆ _set_Runway_altitude()

void FGInterface::_set_Runway_altitude ( double alt)
inlineprotected

Definition at line 388 of file flight.hxx.

◆ _set_Sea_level_radius()

void FGInterface::_set_Sea_level_radius ( double r)
inlineprotected

Definition at line 386 of file flight.hxx.

◆ _set_Static_pressure()

void FGInterface::_set_Static_pressure ( double sp)
inlineprotected

Definition at line 383 of file flight.hxx.

◆ _set_Static_temperature()

void FGInterface::_set_Static_temperature ( double t)
inlineprotected

Definition at line 384 of file flight.hxx.

◆ _set_T_Local_to_Body()

void FGInterface::_set_T_Local_to_Body ( int i,
int j,
double value )
inlineprotected

Definition at line 374 of file flight.hxx.

◆ _set_Total_temperature()

void FGInterface::_set_Total_temperature ( double tat)
inlineprotected

Definition at line 385 of file flight.hxx.

◆ _set_V_calibrated_kts()

void FGInterface::_set_V_calibrated_kts ( double kts)
inlineprotected

Definition at line 306 of file flight.hxx.

◆ _set_V_equiv_kts()

void FGInterface::_set_V_equiv_kts ( double kts)
inlineprotected

Definition at line 305 of file flight.hxx.

◆ _set_V_ground_speed()

void FGInterface::_set_V_ground_speed ( double v)
inlineprotected

Definition at line 304 of file flight.hxx.

◆ _set_V_rel_wind()

void FGInterface::_set_V_rel_wind ( double vt)
inlineprotected

Definition at line 303 of file flight.hxx.

◆ _set_Velocities_Body()

void FGInterface::_set_Velocities_Body ( double u,
double v,
double w )
inlineprotected

Definition at line 298 of file flight.hxx.

◆ _set_Velocities_Ground()

void FGInterface::_set_Velocities_Ground ( double north,
double east,
double down )
inlineprotected

Definition at line 286 of file flight.hxx.

◆ _set_Velocities_Local()

void FGInterface::_set_Velocities_Local ( double north,
double east,
double down )
inlineprotected

Definition at line 281 of file flight.hxx.

◆ _set_Velocities_Local_Airmass()

void FGInterface::_set_Velocities_Local_Airmass ( double north,
double east,
double down )
inlineprotected

Definition at line 291 of file flight.hxx.

◆ _setup()

void FGInterface::_setup ( )
protected

Set default values for the state of the FDM.

This method is invoked by the constructors.

Definition at line 85 of file flight.cxx.

◆ _update_ground_elev_at_pos()

void FGInterface::_update_ground_elev_at_pos ( void )
protected

Definition at line 540 of file flight.cxx.

◆ _updateGeocentricPosition()

void FGInterface::_updateGeocentricPosition ( double lat_geoc,
double lon,
double alt )
protected

Definition at line 534 of file flight.cxx.

◆ _updateGeodeticPosition()

void FGInterface::_updateGeodeticPosition ( double lat,
double lon,
double alt )
protected

Definition at line 528 of file flight.cxx.

◆ _updatePosition() [1/2]

void FGInterface::_updatePosition ( const SGGeoc & geoc)
protected

Definition at line 516 of file flight.cxx.

◆ _updatePosition() [2/2]

void FGInterface::_updatePosition ( const SGGeod & geod)
protected

Definition at line 504 of file flight.cxx.

◆ _updatePositionFt()

void FGInterface::_updatePositionFt ( const SGVec3d & cartPos)
inlineprotected

Definition at line 240 of file flight.hxx.

◆ _updatePositionM()

void FGInterface::_updatePositionM ( const SGVec3d & cartPos)
protected

Definition at line 493 of file flight.cxx.

◆ add_ai_wake()

void FGInterface::add_ai_wake ( FGAIAircraft * ai)
inline

Definition at line 790 of file flight.hxx.

◆ bind()

void FGInterface::bind ( )
override

Bind getters and setters to properties.

The bind() method will be invoked after init(). Note that unlike the usual implementations of FGSubsystem::bind(), this method does not automatically pick up existing values for the properties at bind time; instead, all values are set explicitly in the init() method.

Definition at line 254 of file flight.cxx.

◆ caught_wire_ft()

bool FGInterface::caught_wire_ft ( double t,
const double pt[4][3] )

Definition at line 905 of file flight.cxx.

◆ caught_wire_m()

bool FGInterface::caught_wire_m ( double t,
const double pt[4][3] )

Definition at line 895 of file flight.cxx.

◆ common_init()

void FGInterface::common_init ( )

Initialize the state of the FDM.

Subclasses of FGInterface may do their own, additional initialization, but there is some that is common to all. Normally, they should call this before they begin their own init to make sure the basic structures are set up properly.

Definition at line 137 of file flight.cxx.

◆ get_A_X_cg()

double FGInterface::get_A_X_cg ( ) const
inline

Definition at line 541 of file flight.hxx.

◆ get_A_X_pilot()

double FGInterface::get_A_X_pilot ( ) const
inline

Definition at line 545 of file flight.hxx.

◆ get_A_Y_cg()

double FGInterface::get_A_Y_cg ( ) const
inline

Definition at line 542 of file flight.hxx.

◆ get_A_Y_pilot()

double FGInterface::get_A_Y_pilot ( ) const
inline

Definition at line 546 of file flight.hxx.

◆ get_A_Z_cg()

double FGInterface::get_A_Z_cg ( ) const
inline

Definition at line 543 of file flight.hxx.

◆ get_A_Z_pilot()

double FGInterface::get_A_Z_pilot ( ) const
inline

Definition at line 547 of file flight.hxx.

◆ get_agl_ft()

bool FGInterface::get_agl_ft ( double t,
const double pt[3],
double max_altoff,
double contact[3],
double normal[3],
double linearVel[3],
double angularVel[3],
simgear::BVHMaterial const *& material,
simgear::BVHNode::Id & id )

Definition at line 769 of file flight.cxx.

◆ get_agl_m()

bool FGInterface::get_agl_m ( double t,
const double pt[3],
double max_altoff,
double contact[3],
double normal[3],
double linearVel[3],
double angularVel[3],
simgear::BVHMaterial const *& material,
simgear::BVHNode::Id & id )

Definition at line 746 of file flight.cxx.

◆ get_Alpha()

double FGInterface::get_Alpha ( ) const
inline

Definition at line 658 of file flight.hxx.

◆ get_Alpha_deg()

double FGInterface::get_Alpha_deg ( ) const
inline

Definition at line 659 of file flight.hxx.

◆ get_Altitude()

double FGInterface::get_Altitude ( ) const
inline

Definition at line 634 of file flight.hxx.

◆ get_Altitude_AGL()

double FGInterface::get_Altitude_AGL ( void ) const
inline

Definition at line 637 of file flight.hxx.

◆ get_Beta()

double FGInterface::get_Beta ( ) const
inline

Definition at line 660 of file flight.hxx.

◆ get_Beta_deg()

double FGInterface::get_Beta_deg ( ) const
inline

Definition at line 661 of file flight.hxx.

◆ get_body_m()

bool FGInterface::get_body_m ( double t,
simgear::BVHNode::Id id,
double bodyToWorld[16],
double linearVel[3],
double angularVel[3] )

Definition at line 726 of file flight.cxx.

◆ get_bound()

bool FGInterface::get_bound ( ) const
inline

Definition at line 441 of file flight.hxx.

◆ get_cat_ft()

double FGInterface::get_cat_ft ( double t,
const double pt[3],
double end[2][3],
double vel[2][3] )

Definition at line 711 of file flight.cxx.

◆ get_cat_m()

double FGInterface::get_cat_m ( double t,
const double pt[3],
double end[2][3],
double vel[2][3] )

Definition at line 698 of file flight.cxx.

◆ get_Climb_Rate()

double FGInterface::get_Climb_Rate ( ) const
inline

Definition at line 682 of file flight.hxx.

◆ get_Density()

double FGInterface::get_Density ( ) const
inline

Definition at line 664 of file flight.hxx.

◆ get_Dx_cg()

double FGInterface::get_Dx_cg ( ) const
inline

Definition at line 527 of file flight.hxx.

◆ get_Dy_cg()

double FGInterface::get_Dy_cg ( ) const
inline

Definition at line 528 of file flight.hxx.

◆ get_Dynamic_pressure()

double FGInterface::get_Dynamic_pressure ( ) const
inline

Definition at line 669 of file flight.hxx.

◆ get_Dz_cg()

double FGInterface::get_Dz_cg ( ) const
inline

Definition at line 529 of file flight.hxx.

◆ get_Earth_position_angle()

double FGInterface::get_Earth_position_angle ( ) const
inline

Definition at line 675 of file flight.hxx.

◆ get_Gamma_vert_rad()

double FGInterface::get_Gamma_vert_rad ( ) const
inline

Definition at line 662 of file flight.hxx.

◆ get_ground_elev_ft()

double FGInterface::get_ground_elev_ft ( ) const
inline

Definition at line 685 of file flight.hxx.

◆ get_groundlevel_m() [1/2]

double FGInterface::get_groundlevel_m ( const SGGeod & geod)

This is most likely the case when the given altitude is too low, try with a new altitude of 10000m, that should be sufficient to find a ground level below everywhere on our planet

If there is still no ground, return sea level radius

We reuse the old radius value, but only if it is at least 10 Meters ..

This is most likely the case when the given altitude is too low, try with a new altitude of 10000m, that should be sufficient to find a ground level below everywhere on our planet

If there is still no ground, return sea level radius

Definition at line 840 of file flight.cxx.

◆ get_groundlevel_m() [2/2]

double FGInterface::get_groundlevel_m ( double lat,
double lon,
double alt )

Definition at line 834 of file flight.cxx.

◆ get_inited()

bool FGInterface::get_inited ( ) const
inline

Definition at line 438 of file flight.hxx.

◆ get_Lat_geocentric()

double FGInterface::get_Lat_geocentric ( ) const
inline

Definition at line 614 of file flight.hxx.

◆ get_Latitude()

double FGInterface::get_Latitude ( ) const
inline

Definition at line 628 of file flight.hxx.

◆ get_Latitude_deg()

double FGInterface::get_Latitude_deg ( ) const
inline

Definition at line 641 of file flight.hxx.

◆ get_Latitude_dot()

double FGInterface::get_Latitude_dot ( ) const
inline

Definition at line 608 of file flight.hxx.

◆ get_Lon_geocentric()

double FGInterface::get_Lon_geocentric ( ) const
inline

Definition at line 617 of file flight.hxx.

◆ get_Longitude()

double FGInterface::get_Longitude ( ) const
inline

Definition at line 631 of file flight.hxx.

◆ get_Longitude_deg()

double FGInterface::get_Longitude_deg ( ) const
inline

Definition at line 644 of file flight.hxx.

◆ get_Longitude_dot()

double FGInterface::get_Longitude_dot ( ) const
inline

Definition at line 609 of file flight.hxx.

◆ get_Mach_number()

double FGInterface::get_Mach_number ( ) const
inline

Definition at line 665 of file flight.hxx.

◆ get_N_X_cg()

double FGInterface::get_N_X_cg ( ) const
inline

Definition at line 549 of file flight.hxx.

◆ get_N_Y_cg()

double FGInterface::get_N_Y_cg ( ) const
inline

Definition at line 550 of file flight.hxx.

◆ get_N_Z_cg()

double FGInterface::get_N_Z_cg ( ) const
inline

Definition at line 551 of file flight.hxx.

◆ get_nearest_ft()

bool FGInterface::get_nearest_ft ( double t,
const double pt[3],
double maxDist,
double contact[3],
double normal[3],
double linearVel[3],
double angularVel[3],
simgear::BVHMaterial const *& material,
simgear::BVHNode::Id & id )

Definition at line 814 of file flight.cxx.

◆ get_nearest_m()

bool FGInterface::get_nearest_m ( double t,
const double pt[3],
double maxDist,
double contact[3],
double normal[3],
double linearVel[3],
double angularVel[3],
simgear::BVHMaterial const *& material,
simgear::BVHNode::Id & id )

Definition at line 795 of file flight.cxx.

◆ get_Nlf()

double FGInterface::get_Nlf ( void ) const
inline

Definition at line 553 of file flight.hxx.

◆ get_P_body()

double FGInterface::get_P_body ( ) const
inline

Definition at line 597 of file flight.hxx.

◆ get_Path()

double FGInterface::get_Path ( void ) const
inline

Definition at line 639 of file flight.hxx.

◆ get_Phi()

double FGInterface::get_Phi ( ) const
inline

Definition at line 648 of file flight.hxx.

◆ get_Phi_deg()

double FGInterface::get_Phi_deg ( ) const
inline

Definition at line 651 of file flight.hxx.

◆ get_Phi_dot()

double FGInterface::get_Phi_dot ( ) const
inline

Definition at line 601 of file flight.hxx.

◆ get_Phi_dot_degps()

double FGInterface::get_Phi_dot_degps ( ) const
inline

Definition at line 604 of file flight.hxx.

◆ get_Psi()

double FGInterface::get_Psi ( ) const
inline

Definition at line 650 of file flight.hxx.

◆ get_Psi_deg()

double FGInterface::get_Psi_deg ( ) const
inline

Definition at line 653 of file flight.hxx.

◆ get_Psi_dot()

double FGInterface::get_Psi_dot ( ) const
inline

Definition at line 603 of file flight.hxx.

◆ get_Psi_dot_degps()

double FGInterface::get_Psi_dot_degps ( ) const
inline

Definition at line 606 of file flight.hxx.

◆ get_Q_body()

double FGInterface::get_Q_body ( ) const
inline

Definition at line 598 of file flight.hxx.

◆ get_R_body()

double FGInterface::get_R_body ( ) const
inline

Definition at line 599 of file flight.hxx.

◆ get_Radius_dot()

double FGInterface::get_Radius_dot ( ) const
inline

Definition at line 610 of file flight.hxx.

◆ get_Radius_to_vehicle()

double FGInterface::get_Radius_to_vehicle ( ) const
inline

Definition at line 620 of file flight.hxx.

◆ get_Runway_altitude()

double FGInterface::get_Runway_altitude ( ) const
inline

Definition at line 679 of file flight.hxx.

◆ get_Runway_altitude_m()

double FGInterface::get_Runway_altitude_m ( ) const
inline

Definition at line 680 of file flight.hxx.

◆ get_Sea_level_radius()

double FGInterface::get_Sea_level_radius ( ) const
inline

Definition at line 674 of file flight.hxx.

◆ get_Static_pressure()

double FGInterface::get_Static_pressure ( ) const
inline

Definition at line 667 of file flight.hxx.

◆ get_Static_temperature()

double FGInterface::get_Static_temperature ( ) const
inline

Definition at line 671 of file flight.hxx.

◆ get_Theta()

double FGInterface::get_Theta ( ) const
inline

Definition at line 649 of file flight.hxx.

◆ get_Theta_deg()

double FGInterface::get_Theta_deg ( ) const
inline

Definition at line 652 of file flight.hxx.

◆ get_Theta_dot()

double FGInterface::get_Theta_dot ( ) const
inline

Definition at line 602 of file flight.hxx.

◆ get_Theta_dot_degps()

double FGInterface::get_Theta_dot_degps ( ) const
inline

Definition at line 605 of file flight.hxx.

◆ get_Total_pressure()

double FGInterface::get_Total_pressure ( ) const
inline

Definition at line 668 of file flight.hxx.

◆ get_Total_temperature()

double FGInterface::get_Total_temperature ( ) const
inline

Definition at line 672 of file flight.hxx.

◆ get_Track()

double FGInterface::get_Track ( void ) const
inline

Definition at line 638 of file flight.hxx.

◆ get_U_body()

double FGInterface::get_U_body ( ) const
inline

Definition at line 581 of file flight.hxx.

◆ get_U_dot_body()

double FGInterface::get_U_dot_body ( ) const
inline

Definition at line 537 of file flight.hxx.

◆ get_uBody()

double FGInterface::get_uBody ( ) const
inline

Definition at line 560 of file flight.hxx.

◆ get_V_body()

double FGInterface::get_V_body ( ) const
inline

Definition at line 582 of file flight.hxx.

◆ get_V_calibrated_kts()

double FGInterface::get_V_calibrated_kts ( ) const
inline

Definition at line 595 of file flight.hxx.

◆ get_V_dot_body()

double FGInterface::get_V_dot_body ( ) const
inline

Definition at line 538 of file flight.hxx.

◆ get_V_dot_down()

double FGInterface::get_V_dot_down ( ) const
inline

Definition at line 535 of file flight.hxx.

◆ get_V_dot_east()

double FGInterface::get_V_dot_east ( ) const
inline

Definition at line 534 of file flight.hxx.

◆ get_V_dot_north()

double FGInterface::get_V_dot_north ( ) const
inline

Definition at line 533 of file flight.hxx.

◆ get_V_down()

double FGInterface::get_V_down ( ) const
inline

Definition at line 559 of file flight.hxx.

◆ get_V_down_airmass()

double FGInterface::get_V_down_airmass ( ) const
inline

Definition at line 579 of file flight.hxx.

◆ get_V_down_rel_ground()

double FGInterface::get_V_down_rel_ground ( ) const
inline

Definition at line 572 of file flight.hxx.

◆ get_V_east()

double FGInterface::get_V_east ( ) const
inline

Definition at line 558 of file flight.hxx.

◆ get_V_east_airmass()

double FGInterface::get_V_east_airmass ( ) const
inline

Definition at line 578 of file flight.hxx.

◆ get_V_east_rel_ground()

double FGInterface::get_V_east_rel_ground ( ) const
inline

Definition at line 569 of file flight.hxx.

◆ get_V_equiv_kts()

double FGInterface::get_V_equiv_kts ( ) const
inline

Definition at line 593 of file flight.hxx.

◆ get_V_ground_speed()

double FGInterface::get_V_ground_speed ( ) const
inline

Definition at line 589 of file flight.hxx.

◆ get_V_ground_speed_kt()

double FGInterface::get_V_ground_speed_kt ( ) const
inline

Definition at line 590 of file flight.hxx.

◆ get_V_north()

double FGInterface::get_V_north ( ) const
inline

Definition at line 557 of file flight.hxx.

◆ get_V_north_airmass()

double FGInterface::get_V_north_airmass ( ) const
inline

Definition at line 577 of file flight.hxx.

◆ get_V_north_rel_ground()

double FGInterface::get_V_north_rel_ground ( ) const
inline

Definition at line 566 of file flight.hxx.

◆ get_V_rel_wind()

double FGInterface::get_V_rel_wind ( ) const
inline

Definition at line 585 of file flight.hxx.

◆ get_V_true_kts()

double FGInterface::get_V_true_kts ( ) const
inline

Definition at line 587 of file flight.hxx.

◆ get_vBody()

double FGInterface::get_vBody ( ) const
inline

Definition at line 561 of file flight.hxx.

◆ get_W_body()

double FGInterface::get_W_body ( ) const
inline

Definition at line 583 of file flight.hxx.

◆ get_W_dot_body()

double FGInterface::get_W_dot_body ( ) const
inline

Definition at line 539 of file flight.hxx.

◆ get_wake_group()

const AIWakeGroup & FGInterface::get_wake_group ( void )
inline

Definition at line 792 of file flight.hxx.

◆ get_wBody()

double FGInterface::get_wBody ( ) const
inline

Definition at line 562 of file flight.hxx.

◆ get_wire_ends_ft()

bool FGInterface::get_wire_ends_ft ( double t,
double end[2][3],
double vel[2][3] )

Definition at line 928 of file flight.cxx.

◆ get_wire_ends_m()

bool FGInterface::get_wire_ends_m ( double t,
double end[2][3],
double vel[2][3] )

Definition at line 916 of file flight.cxx.

◆ getBumpiness()

float FGInterface::getBumpiness ( )
inline

Definition at line 776 of file flight.hxx.

◆ getCartPosition()

const SGVec3d & FGInterface::getCartPosition ( ) const
inline

Definition at line 626 of file flight.hxx.

◆ getGeocPosition()

const SGGeoc & FGInterface::getGeocPosition ( ) const
inline

Definition at line 625 of file flight.hxx.

◆ getGroundDisplacement()

float FGInterface::getGroundDisplacement ( )
inline

Definition at line 777 of file flight.hxx.

◆ getPosition()

const SGGeod & FGInterface::getPosition ( ) const
inline

Definition at line 624 of file flight.hxx.

◆ getPressure()

float FGInterface::getPressure ( )
inline

Definition at line 775 of file flight.hxx.

◆ getRolingFrictionFactor()

float FGInterface::getRolingFrictionFactor ( )
inline

Definition at line 783 of file flight.hxx.

◆ getSolid()

bool FGInterface::getSolid ( )
inline

Definition at line 786 of file flight.hxx.

◆ getStaticFrictionFactor()

float FGInterface::getStaticFrictionFactor ( )
inline

Definition at line 780 of file flight.hxx.

◆ init()

void FGInterface::init ( )
override

Definition at line 126 of file flight.cxx.

◆ is_valid_ft()

bool FGInterface::is_valid_ft ( double * ref_time,
double pt[3],
double * rad )

Definition at line 687 of file flight.cxx.

◆ is_valid_m()

bool FGInterface::is_valid_m ( double * ref_time,
double pt[3],
double * rad )

Definition at line 679 of file flight.cxx.

◆ prepare_ground_cache_ft()

bool FGInterface::prepare_ground_cache_ft ( double startSimTime,
double endSimTime,
const double pt[3],
double rad )

Definition at line 669 of file flight.cxx.

◆ prepare_ground_cache_m()

bool FGInterface::prepare_ground_cache_m ( double startSimTime,
double endSimTime,
const double pt[3],
double rad )

Definition at line 661 of file flight.cxx.

◆ property_associations()

void FGInterface::property_associations ( std::function< void(const std::string &from, const std::string &to)> fn)
virtual

Reimplemented in YASim.

Definition at line 236 of file flight.cxx.

◆ readState()

bool FGInterface::readState ( SGIOChannel * io)

Definition at line 457 of file flight.cxx.

◆ release_wire()

void FGInterface::release_wire ( void )

Definition at line 941 of file flight.cxx.

◆ reset_wake_group()

void FGInterface::reset_wake_group ( void )
inline

Definition at line 791 of file flight.hxx.

◆ set_Alpha_deg()

void FGInterface::set_Alpha_deg ( double a)
inlineprotected

Definition at line 378 of file flight.hxx.

◆ set_Altitude()

void FGInterface::set_Altitude ( double alt)
virtual

Reimplemented in FGJSBsim.

Definition at line 554 of file flight.cxx.

◆ set_AltitudeAGL()

void FGInterface::set_AltitudeAGL ( double altagl)
virtual

Definition at line 558 of file flight.cxx.

◆ set_Climb_Rate()

void FGInterface::set_Climb_Rate ( double roc)
virtual

Reimplemented in FGJSBsim.

Definition at line 597 of file flight.cxx.

◆ set_Density()

void FGInterface::set_Density ( double rho)
virtual

Definition at line 607 of file flight.cxx.

◆ set_Euler_Angles()

void FGInterface::set_Euler_Angles ( double phi,
double theta,
double psi )
virtual

Reimplemented in FGJSBsim.

Definition at line 588 of file flight.cxx.

◆ set_Gamma_vert_rad()

void FGInterface::set_Gamma_vert_rad ( double gamma)
virtual

Reimplemented in FGJSBsim.

Definition at line 601 of file flight.cxx.

◆ set_inited()

void FGInterface::set_inited ( bool value)
inline

Definition at line 439 of file flight.hxx.

◆ set_Latitude()

void FGInterface::set_Latitude ( double lat)
virtual

Reimplemented in FGJSBsim.

Definition at line 546 of file flight.cxx.

◆ set_Latitude_deg()

virtual void FGInterface::set_Latitude_deg ( double lat)
inlinevirtual

Definition at line 458 of file flight.hxx.

◆ set_Longitude()

void FGInterface::set_Longitude ( double lon)
virtual

Reimplemented in FGJSBsim.

Definition at line 550 of file flight.cxx.

◆ set_Longitude_deg()

virtual void FGInterface::set_Longitude_deg ( double lon)
inlinevirtual

Definition at line 461 of file flight.hxx.

◆ set_Mach_number()

void FGInterface::set_Mach_number ( double mach)
virtual

Reimplemented in FGJSBsim.

Definition at line 567 of file flight.cxx.

◆ set_Phi()

virtual void FGInterface::set_Phi ( double phi)
inlinevirtual

Definition at line 491 of file flight.hxx.

◆ set_Phi_deg()

virtual void FGInterface::set_Phi_deg ( double phi)
inlinevirtual

Definition at line 500 of file flight.hxx.

◆ set_Phi_dot_degps()

void FGInterface::set_Phi_dot_degps ( double x)
inlineprotected

Definition at line 318 of file flight.hxx.

◆ set_Psi()

virtual void FGInterface::set_Psi ( double psi)
inlinevirtual

Definition at line 497 of file flight.hxx.

◆ set_Psi_deg()

virtual void FGInterface::set_Psi_deg ( double psi)
inlinevirtual

Definition at line 506 of file flight.hxx.

◆ set_Psi_dot_degps()

void FGInterface::set_Psi_dot_degps ( double x)
inlineprotected

Definition at line 328 of file flight.hxx.

◆ set_Static_pressure()

void FGInterface::set_Static_pressure ( double p)
virtual

Definition at line 605 of file flight.cxx.

◆ set_Static_temperature()

void FGInterface::set_Static_temperature ( double T)
virtual

Definition at line 606 of file flight.cxx.

◆ set_Theta()

virtual void FGInterface::set_Theta ( double theta)
inlinevirtual

Definition at line 494 of file flight.hxx.

◆ set_Theta_deg()

virtual void FGInterface::set_Theta_deg ( double theta)
inlinevirtual

Definition at line 503 of file flight.hxx.

◆ set_Theta_dot_degps()

void FGInterface::set_Theta_dot_degps ( double x)
inlineprotected

Definition at line 323 of file flight.hxx.

◆ set_uBody()

virtual void FGInterface::set_uBody ( double uBody)
inlinevirtual

Definition at line 479 of file flight.hxx.

◆ set_V_calibrated_kts()

void FGInterface::set_V_calibrated_kts ( double vc)
virtual

Reimplemented in FGJSBsim.

Definition at line 563 of file flight.cxx.

◆ set_V_down()

void FGInterface::set_V_down ( double down)
inline

Definition at line 475 of file flight.hxx.

◆ set_V_east()

void FGInterface::set_V_east ( double east)
inline

Definition at line 472 of file flight.hxx.

◆ set_V_ground_speed_kt()

void FGInterface::set_V_ground_speed_kt ( double ground_speed)
inline

Definition at line 591 of file flight.hxx.

◆ set_V_north()

void FGInterface::set_V_north ( double north)
inline

Definition at line 469 of file flight.hxx.

◆ set_vBody()

virtual void FGInterface::set_vBody ( double vBody)
inlinevirtual

Definition at line 482 of file flight.hxx.

◆ set_Velocities_Body()

void FGInterface::set_Velocities_Body ( double u,
double v,
double w )
virtual

Reimplemented in FGJSBsim.

Definition at line 579 of file flight.cxx.

◆ set_Velocities_Local()

void FGInterface::set_Velocities_Local ( double north,
double east,
double down )
virtual

Reimplemented in FGJSBsim.

Definition at line 571 of file flight.cxx.

◆ set_Velocities_Local_Airmass()

void FGInterface::set_Velocities_Local_Airmass ( double wnorth,
double weast,
double wdown )
virtual

Definition at line 609 of file flight.cxx.

◆ set_wBody()

virtual void FGInterface::set_wBody ( double wBody)
inlinevirtual

Definition at line 485 of file flight.hxx.

◆ setHeading()

void FGInterface::setHeading ( float h)
inline

Definition at line 771 of file flight.hxx.

◆ setPosition()

void FGInterface::setPosition ( double pt[3])
inline

Definition at line 772 of file flight.hxx.

◆ ToggleDataLogging() [1/2]

virtual bool FGInterface::ToggleDataLogging ( bool state)
inlinevirtual

Reimplemented in FGJSBsim.

Definition at line 402 of file flight.hxx.

◆ ToggleDataLogging() [2/2]

virtual bool FGInterface::ToggleDataLogging ( void )
inlinevirtual

Reimplemented in FGJSBsim.

Definition at line 403 of file flight.hxx.

◆ unbind()

void FGInterface::unbind ( )
override

Unbind any properties bound to this FDM.

This method allows the FDM to release properties so that a new FDM can bind them instead.

Definition at line 442 of file flight.cxx.

◆ update()

void FGInterface::update ( double dt)
override

Update the state of the FDM (i.e.

run the equations of motion).

Definition at line 452 of file flight.cxx.

◆ updateGroundReactions()

bool FGInterface::updateGroundReactions ( simgear::BVHMaterial const *& material)
inline

Definition at line 768 of file flight.hxx.

◆ writeState()

bool FGInterface::writeState ( SGIOChannel * io)

Definition at line 478 of file flight.cxx.


The documentation for this class was generated from the following files: