+ if (aircraft_ == 0)
+ aircraft_ = new AIRCRAFT;
+
+ // set defaults and initialize (called once from uiuc_init_2_wrapper)
+
+ //fog inits
+ fog_field = 0;
+ fog_segments = 0;
+ fog_point_index = -1;
+ fog_time = NULL;
+ fog_value = NULL;
+ fog_next_time = 0.0;
+ fog_current_segment = 0;
+ Fog = 0;
+
+ use_V_rel_wind_2U = false;
+ nondim_rate_V_rel_wind = false;
+ use_abs_U_body_2U = false;
+ use_dyn_on_speed_curve1 = false;
+ use_Alpha_dot_on_speed = false;
+ use_gamma_horiz_on_speed = false;
+ b_downwashMode = false;
+ P_body_init_true = false;
+ Q_body_init_true = false;
+ R_body_init_true = false;
+ Phi_init_true = false;
+ Theta_init_true = false;
+ Psi_init_true = false;
+ Alpha_init_true = false;
+ Beta_init_true = false;
+ U_body_init_true = false;
+ V_body_init_true = false;
+ W_body_init_true = false;
+ trim_case_2 = false;
+ use_uiuc_network = false;
+ icing_demo = false;
+ outside_control = false;
+ set_Long_trim = false;
+ zero_Long_trim = false;
+ elevator_step = false;
+ elevator_singlet = false;
+ elevator_doublet = false;
+ elevator_input = false;
+ elevator_input_ntime = 0;
+ aileron_input = false;
+ aileron_input_ntime = 0;
+ rudder_input = false;
+ rudder_input_ntime = 0;
+ pilot_elev_no = false;
+ pilot_elev_no_check = false;
+ pilot_ail_no = false;
+ pilot_ail_no_check = false;
+ pilot_rud_no = false;
+ pilot_rud_no_check = false;
+ use_flaps = false;
+ use_spoilers = false;
+ flap_pos_input = false;
+ flap_pos_input_ntime = 0;
+ use_elevator_sas_type1 = false;
+ use_elevator_sas_max = false;
+ use_elevator_sas_min = false;
+ use_elevator_stick_gain = false;
+ use_aileron_sas_type1 = false;
+ use_aileron_sas_max = false;
+ use_aileron_stick_gain = false;
+ use_rudder_sas_type1 = false;
+ use_rudder_sas_max = false;
+ use_rudder_stick_gain = false;
+ simpleSingleModel = false;
+ Throttle_pct_input = false;
+ Throttle_pct_input_ntime = 0;
+ gyroForce_Q_body = false;
+ gyroForce_R_body = false;
+ b_slipstreamEffects = false;
+ Xp_input = false;
+ Xp_input_ntime = 0;
+ Zp_input = false;
+ Zp_input_ntime = 0;
+ Mp_input = false;
+ Mp_input_ntime = 0;
+ b_CLK = false;
+ // gear_model[MAX_GEAR]
+ memset(gear_model,false,MAX_GEAR*sizeof(gear_model[0]));
+ use_gear = false;
+ // start with gear down if it is ultimately used
+ gear_pos_norm = 1;
+ ice_model = false;
+ ice_on = false;
+ beta_model = false;
+ // bootTrue[20] = 0;
+ memset(bootTrue,false,20*sizeof(gear_model[0]));
+ eta_from_file = false;
+ eta_wing_left_input = false;
+ eta_wing_right_input = false;
+ eta_tail_input = false;
+ demo_eps_alpha_max = false;
+ demo_eps_pitch_max = false;
+ demo_eps_pitch_min = false;
+ demo_eps_roll_max = false;
+ demo_eps_thrust_min = false;
+ demo_eps_airspeed_max = false;
+ demo_eps_airspeed_min = false;
+ demo_eps_flap_max = false;
+ demo_boot_cycle_tail = false;
+ demo_boot_cycle_wing_left = false;
+ demo_boot_cycle_wing_right = false;
+ demo_eps_pitch_input = false;
+ tactilefadef = false;
+ demo_ap_pah_on = false;
+ demo_ap_alh_on = false;
+ demo_ap_Theta_ref = false;
+ demo_ap_alt_ref = false;
+ demo_tactile = false;
+ demo_ice_tail = false;
+ demo_ice_left = false;
+ demo_ice_right = false;
+ flapper_model = false;
+ ignore_unknown_keywords = false;
+ pilot_throttle_no = false;
+ Dx_cg = 0.0;
+ Dy_cg = 0.0;
+ Dz_cg = 0.0;
+ ap_pah_on = 0;
+ ap_alh_on = 0;
+
+}
+
+void uiuc_vel_init ()
+{
+ // Calculates the local velocity (V_north, V_east, V_down) from the body
+ // velocities.
+ // Called from uiuc_local_vel_init which is called from ls_step.
+ // Used during initialization (while Simtime=0)
+ if (U_body_init_true && V_body_init_true && W_body_init_true)
+ {
+ double det_T_l_to_b, cof11, cof12, cof13, cof21, cof22, cof23, cof31, cof32, cof33;
+
+ det_T_l_to_b = T_local_to_body_11*(T_local_to_body_22*T_local_to_body_33-T_local_to_body_23*T_local_to_body_32) - T_local_to_body_12*(T_local_to_body_21*T_local_to_body_33-T_local_to_body_23*T_local_to_body_31) + T_local_to_body_13*(T_local_to_body_21*T_local_to_body_32-T_local_to_body_22*T_local_to_body_31);
+ cof11 = T_local_to_body_22 * T_local_to_body_33 - T_local_to_body_23 * T_local_to_body_32;
+ cof12 = T_local_to_body_23 * T_local_to_body_31 - T_local_to_body_21 * T_local_to_body_33;
+ cof13 = T_local_to_body_21 * T_local_to_body_32 - T_local_to_body_22 * T_local_to_body_31;
+ cof21 = T_local_to_body_13 * T_local_to_body_32 - T_local_to_body_12 * T_local_to_body_33;
+ cof22 = T_local_to_body_11 * T_local_to_body_33 - T_local_to_body_13 * T_local_to_body_31;
+ cof23 = T_local_to_body_12 * T_local_to_body_31 - T_local_to_body_11 * T_local_to_body_32;
+ cof31 = T_local_to_body_12 * T_local_to_body_23 - T_local_to_body_13 * T_local_to_body_22;
+ cof32 = T_local_to_body_13 * T_local_to_body_21 - T_local_to_body_11 * T_local_to_body_23;
+ cof33 = T_local_to_body_11 * T_local_to_body_22 - T_local_to_body_12 * T_local_to_body_21;