111 void init()
override;
115 void update(
double dt)
override;
216 double alt_off,
double contact[3],
double normal[3],
217 double vel[3],
double angularVel[3]);
245 SGPropertyNode_ptr startup_trim;
246 SGPropertyNode_ptr trimmed;
247 SGPropertyNode_ptr pitch_trim;
248 SGPropertyNode_ptr throttle_trim;
249 SGPropertyNode_ptr aileron_trim;
250 SGPropertyNode_ptr rudder_trim;
251 SGPropertyNode_ptr stall_warning;
260 SGPropertyNode_ptr elevator_pos_pct;
261 SGPropertyNode_ptr left_aileron_pos_pct;
262 SGPropertyNode_ptr right_aileron_pos_pct;
263 SGPropertyNode_ptr rudder_pos_pct;
264 SGPropertyNode_ptr flap_pos_pct;
265 SGPropertyNode_ptr speedbrake_pos_pct;
266 SGPropertyNode_ptr spoilers_pos_pct;
268 SGPropertyNode_ptr override_fg_brake_prop;
269 SGPropertyNode_ptr ab_brake_engaged;
270 SGPropertyNode_ptr ab_brake_left_pct;
271 SGPropertyNode_ptr ab_brake_right_pct;
273 SGPropertyNode_ptr gear_pos_pct;
274 SGPropertyNode_ptr wing_fold_pos_pct;
275 SGPropertyNode_ptr tailhook_pos_pct;
278 SGPropertyNode_ptr precipitation;
279 SGPropertyNode_ptr temperature;
280 SGPropertyNode_ptr pressure;
281 SGPropertyNode_ptr pressureSL;
282 SGPropertyNode_ptr dew_point;
283 SGPropertyNode_ptr ground_wind;
284 SGPropertyNode_ptr turbulence_gain;
285 SGPropertyNode_ptr turbulence_rate;
286 SGPropertyNode_ptr turbulence_model;
288 SGPropertyNode_ptr wind_from_north;
289 SGPropertyNode_ptr wind_from_east;
290 SGPropertyNode_ptr wind_from_down;
292 SGPropertyNode_ptr arrestor_wire_engaged_hook;
293 SGPropertyNode_ptr release_hook;
295 SGPropertyNode_ptr slaved;
297 SGPropertyNode_ptr terrain;
299 static std::map<std::string,int> TURBULENCE_TYPE_NAMES;
301 double last_hook_tip[3];
302 double last_hook_root[3];
309 SGPropertyNode_ptr _ai_wake_enabled;
310 SGPropertyNode_ptr _fmag{
nullptr}, _mmag{
nullptr};
311 SGPropertyNode_ptr _fbx{
nullptr}, _fby{
nullptr}, _fbz{
nullptr};
312 SGPropertyNode_ptr _mbx{
nullptr}, _mby{
nullptr}, _mbz{
nullptr};
316 bool update_ground_cache(
const JSBSim::FGLocation& cart,
double dt);
317 void init_gear(
void);
318 void update_gear(
void);
320 void update_external_forces(
double t_off);
double get_agl_ft(double t, const JSBSim::FGColumnVector3 &loc, double alt_off, double contact[3], double normal[3], double vel[3], double angularVel[3])