27#include <simgear/props/props.hxx>
28#include <simgear/math/SGMath.hxx>
46 return _root->getDoubleValue(
"velocities/speed-north-fps", 0.0);
51 return _root->getDoubleValue(
"velocities/speed-east-fps", 0.0);
56 return _root->getDoubleValue(
"velocities/speed-down-fps", 0.0);
61 return _root->getDoubleValue(
"velocities/uBody-fps", 0.0);
66 return _root->getDoubleValue(
"velocities/vBody-fps", 0.0);
71 return _root->getDoubleValue(
"velocities/wBody-fps", 0.0);
76 return _root->getDoubleValue(
"accelerations/pilot/x-accel-fps_sec", 0.0);
81 return _root->getDoubleValue(
"/accelerations/pilot/y-accel-fps_sec", 0.0);
86 return _root->getDoubleValue(
"/accelerations/pilot/z-accel-fps_sec", 0.0);
106 return _root->getDoubleValue(
"position/altitude-ft");
111 return _root->getDoubleValue(
"position/altitude-agl-ft");
116 return _root->getDoubleValue(
"position/latitude-deg");
121 return _root->getDoubleValue(
"position/longitude-deg");
126 return _root->getDoubleValue(
"orientation/track-deg");
131 return _root->getDoubleValue(
"orientation/roll-deg");
136 return _root->getDoubleValue(
"orientation/pitch-deg");
141 return _root->getDoubleValue(
"orientation/heading-deg");
161 return _root->getDoubleValue(
"orientation/alpha-deg") * SG_DEGREES_TO_RADIANS;
166 return _root->getDoubleValue(
"orientation/beta-deg") * SG_DEGREES_TO_RADIANS;
171 return _root->getDoubleValue(
"orientation/roll-rate-degps");
176 return _root->getDoubleValue(
"orientation/pitch-rate-degps");
181 return _root->getDoubleValue(
"orientation/yaw-rate-degps");
201 _root->setDoubleValue(
"position/longitude-deg", l * SG_RADIANS_TO_DEGREES);
206 _root->setDoubleValue(
"position/latitude-deg", l * SG_RADIANS_TO_DEGREES);
211 _root->setDoubleValue(
"position/altitude-ft", ft);
216 _root->setDoubleValue(
"orientation/roll-deg", phi * SG_RADIANS_TO_DEGREES);
217 _root->setDoubleValue(
"orientation/pitch-deg", theta * SG_RADIANS_TO_DEGREES);
218 _root->setDoubleValue(
"orientation/heading-deg", psi * SG_RADIANS_TO_DEGREES);
223 _root->setDoubleValue(
"velocities/airspeed-kt", kts);
228 _root->setDoubleValue(
"velocities/vertical-speed-fps", fps);
233 const double KNOTS_TO_FTS = (SG_NM_TO_METER * SG_METER_TO_FEET)/ 3600.0;
234 return _root->getDoubleValue(
"velocities/groundspeed-kt") * KNOTS_TO_FTS;
239 return _root->getDoubleValue(
"velocities/airspeed-kt");
244 return _root->getDoubleValue(
"velocities/equivalent-kt");
249 return _root->getDoubleValue(
"velocities/vertical-speed-fps");
254 return _root->getDoubleValue(
"environment/ground-elevation-m");
259 _root->setDoubleValue(
"accelerations/pilot/x-accel-fps_sec", x);
260 _root->setDoubleValue(
"accelerations/pilot/y-accel-fps_sec", y);
261 _root->setDoubleValue(
"accelerations/pilot/z-accel-fps_sec", z);
266 _root->setDoubleValue(
"velocities/speed-north-fps", x);
267 _root->setDoubleValue(
"velocities/speed-east-fps", y);
268 _root->setDoubleValue(
"velocities/speed-down-fps", z);
273 _root->setDoubleValue(
"velocities/uBody-fps", x);
274 _root->setDoubleValue(
"velocities/vBody-fps", y);
275 _root->setDoubleValue(
"velocities/wBody-fps", z);
280 _root->setDoubleValue(
"orientation/roll-rate-degps", x * SG_RADIANS_TO_DEGREES);
281 _root->setDoubleValue(
"orientation/pitch-rate-degps", y * SG_RADIANS_TO_DEGREES);
282 _root->setDoubleValue(
"orientation/yaw-rate-degps", z * SG_RADIANS_TO_DEGREES);
287 _root->setDoubleValue(
"orientation/alpha-deg", a * SG_RADIANS_TO_DEGREES);
292 _root->setDoubleValue(
"orientation/side-slip-rad", b);
297 _root->setDoubleValue(
"position/altitude-agl-ft", ft);
302 return _root->getDoubleValue(
"orientation/p-body", 0.0);
307 return _root->getDoubleValue(
"orientation/q-body", 0.0);
312 return _root->getDoubleValue(
"orientation/r-body", 0.0);
double get_Phi_dot_degps() const
double get_A_X_pilot() const
void set_Euler_Angles(double phi, double theta, double psi)
double get_Phi_dot() const
void set_Velocities_Body(double x, double y, double z)
double get_Altitude_AGL(void) const
double get_V_east() const
double get_A_Y_pilot() const
void set_Velocities_Local(double x, double y, double z)
double get_V_calibrated_kts() const
double get_Total_pressure() const
void set_Altitude(double ft)
double get_Latitude_deg() const
double get_Runway_altitude_m() const
double get_Theta_dot_degps() const
void set_Climb_Rate(double fps)
void set_Latitude(double l)
double get_Q_body() const
double get_V_equiv_kts() const
double get_Longitude_deg() const
double get_Psi_deg() const
double get_Theta_deg() const
double get_V_down() const
double get_Track(void) const
void set_V_calibrated_kts(double kts)
double get_Latitude() const
double get_Psi_dot() const
double get_Phi_deg() const
void set_Euler_Rates(double x, double y, double z)
double get_Total_temperature() const
double get_V_ground_speed() const
double get_Longitude() const
double get_Theta_dot() const
double get_R_body() const
FlightProperties(SGPropertyNode *aRoot=NULL)
void set_Accels_Pilot_Body(double x, double y, double z)
double get_Dynamic_pressure() const
void set_Altitude_AGL(double ft)
SGGeod getPosition() const
double get_P_body() const
double get_V_north() const
double get_Climb_Rate() const
double get_Altitude() const
double get_Psi_dot_degps() const
void set_Longitude(double l)
double get_A_Z_pilot() const