1 /**********************************************************************
3 FILENAME: uiuc_recorder.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: outputs variables specified in input file to recorder
10 ----------------------------------------------------------------------
14 ----------------------------------------------------------------------
16 REFERENCES: Liberty, Jesse. "Sam's Teach Yourself C++ in 21 Days,"
19 ----------------------------------------------------------------------
21 HISTORY: 01/31/2000 initial release
22 03/02/2000 (JS) added record options for 1D and 2D
23 interpolated variables
24 04/01/2000 (JS) added throttle, longitudinal, lateral,
25 and rudder inputs to record map
26 04/24/2000 (JS) added rest of variables in
28 07/06/2001 (RD) changed Flap handle output
29 07/20/2001 (RD) fixed Lat_control and Rudder_pedal
30 10/25/2001 (RD) Added new variables needed for the non-
31 linear Twin Otter model at zero flaps
33 11/12/2001 (RD) Added new variables needed for the non-
34 linear Twin Otter model at zero flaps
35 (CxfxxfI). Removed zero flap variables.
36 Added flap_pos and flap_goal.
37 02/13/2002 (RD) Added variables so linear aero model
38 values can be recorded
40 ----------------------------------------------------------------------
42 AUTHOR(S): Jeff Scott <jscott@mail.com>
43 Robert Deters <rdeters@uiuc.edu>
45 ----------------------------------------------------------------------
49 ----------------------------------------------------------------------
53 ----------------------------------------------------------------------
55 OUTPUTS: -variables recorded in uiuc_recorder.dat
57 ----------------------------------------------------------------------
59 CALLED BY: uiuc_wrapper.cpp
61 ----------------------------------------------------------------------
65 ----------------------------------------------------------------------
67 COPYRIGHT: (C) 2000 by Michael Selig
69 This program is free software; you can redistribute it and/or
70 modify it under the terms of the GNU General Public License
71 as published by the Free Software Foundation.
73 This program is distributed in the hope that it will be useful,
74 but WITHOUT ANY WARRANTY; without even the implied warranty of
75 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
76 GNU General Public License for more details.
78 You should have received a copy of the GNU General Public License
79 along with this program; if not, write to the Free Software
80 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
81 USA or view http://www.gnu.org/copyleft/gpl.html.
83 **********************************************************************/
85 #include "uiuc_recorder.h"
87 #if !defined (SG_HAVE_NATIVE_SGI_COMPILERS)
88 SG_USING_STD(endl); // -dw
91 void uiuc_recorder( double dt )
96 static int recordStep = 0;
97 string record_variables = "# ";
99 int modulus = recordStep % recordRate;
101 if ((recordStep % recordRate) == 0)
103 command_list = recordParts->getCommands();
107 for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
108 record_variables += recordParts->getToken(*command_line,2) + " ";
110 fout << record_variables << endl;
111 for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
113 linetoken = recordParts->getToken(*command_line, 2);
115 switch(record_map[linetoken])
117 /************************* Time ************************/
120 fout << Simtime << " ";
129 /************************* Mass ************************/
132 fout << Weight << " ";
161 /*********************** Geometry **********************/
162 case Dx_pilot_record:
164 fout << Dx_pilot << " ";
167 case Dy_pilot_record:
169 fout << Dy_pilot << " ";
172 case Dz_pilot_record:
174 fout << Dz_pilot << " ";
179 fout << Dx_cg << " ";
184 fout << Dy_cg << " ";
189 fout << Dz_cg << " ";
193 /********************** Positions **********************/
194 case Lat_geocentric_record:
196 fout << Lat_geocentric << " ";
199 case Lon_geocentric_record:
201 fout << Lon_geocentric << " ";
204 case Radius_to_vehicle_record:
206 fout << Radius_to_vehicle << " ";
209 case Latitude_record:
211 fout << Latitude << " ";
214 case Longitude_record:
216 fout << Longitude << " ";
219 case Altitude_record:
221 fout << Altitude << " ";
231 fout << Theta << " ";
240 /******************** Accelerations ********************/
241 case V_dot_north_record:
243 fout << V_dot_north << " ";
246 case V_dot_east_record:
248 fout << V_dot_east << " ";
251 case V_dot_down_record:
253 fout << V_dot_down << " ";
256 case U_dot_body_record:
258 fout << U_dot_body << " ";
261 case V_dot_body_record:
263 fout << V_dot_body << " ";
266 case W_dot_body_record:
268 fout << W_dot_body << " ";
271 case A_X_pilot_record:
273 fout << A_X_pilot << " ";
276 case A_Y_pilot_record:
278 fout << A_Y_pilot << " ";
281 case A_Z_pilot_record:
283 fout << A_Z_pilot << " ";
288 fout << A_X_cg << " ";
293 fout << A_Y_cg << " ";
298 fout << A_Z_cg << " ";
301 case N_X_pilot_record:
303 fout << N_X_pilot << " ";
306 case N_Y_pilot_record:
308 fout << N_Y_pilot << " ";
311 case N_Z_pilot_record:
313 fout << N_Z_pilot << " ";
318 fout << N_X_cg << " ";
323 fout << N_Y_cg << " ";
328 fout << N_Z_cg << " ";
331 case P_dot_body_record:
333 fout << P_dot_body << " ";
336 case Q_dot_body_record:
338 fout << Q_dot_body << " ";
341 case R_dot_body_record:
343 fout << R_dot_body << " ";
347 /********************** Velocities *********************/
350 fout << V_north << " ";
355 fout << V_east << " ";
360 fout << V_down << " ";
363 case V_north_rel_ground_record:
365 fout << V_north_rel_ground << " ";
368 case V_east_rel_ground_record:
370 fout << V_east_rel_ground << " ";
373 case V_down_rel_ground_record:
375 fout << V_down_rel_ground << " ";
378 case V_north_airmass_record:
380 fout << V_north_airmass << " ";
383 case V_east_airmass_record:
385 fout << V_east_airmass << " ";
388 case V_down_airmass_record:
390 fout << V_down_airmass << " ";
393 case V_north_rel_airmass_record:
395 fout << V_north_rel_airmass << " ";
398 case V_east_rel_airmass_record:
400 fout << V_east_rel_airmass << " ";
403 case V_down_rel_airmass_record:
405 fout << V_down_rel_airmass << " ";
410 fout << U_gust << " ";
415 fout << V_gust << " ";
420 fout << W_gust << " ";
425 fout << U_body << " ";
430 fout << V_body << " ";
435 fout << W_body << " ";
438 case V_rel_wind_record:
440 fout << V_rel_wind << " ";
443 case V_true_kts_record:
445 fout << V_true_kts << " ";
448 case V_rel_ground_record:
450 fout << V_rel_ground << " ";
453 case V_inertial_record:
455 fout << V_inertial << " ";
458 case V_ground_speed_record:
460 fout << V_ground_speed << " ";
465 fout << V_equiv << " ";
468 case V_equiv_kts_record:
470 fout << V_equiv_kts << " ";
473 case V_calibrated_record:
475 fout << V_calibrated << " ";
478 case V_calibrated_kts_record:
480 fout << V_calibrated_kts << " ";
485 fout << P_local << " ";
490 fout << Q_local << " ";
495 fout << R_local << " ";
500 fout << P_body << " ";
505 fout << Q_body << " ";
510 fout << R_body << " ";
515 fout << P_total << " ";
520 fout << Q_total << " ";
525 fout << R_total << " ";
530 fout << Phi_dot << " ";
533 case Theta_dot_record:
535 fout << Theta_dot << " ";
540 fout << Psi_dot << " ";
543 case Latitude_dot_record:
545 fout << Latitude_dot << " ";
548 case Longitude_dot_record:
550 fout << Longitude_dot << " ";
553 case Radius_dot_record:
555 fout << Radius_dot << " ";
559 /************************ Angles ***********************/
562 fout << Alpha << " ";
565 case Alpha_deg_record:
567 fout << Alpha * RAD_TO_DEG << " ";
570 case Alpha_dot_record:
572 fout << Alpha_dot << " ";
575 case Alpha_dot_deg_record:
577 fout << Alpha_dot * RAD_TO_DEG << " ";
585 case Beta_deg_record:
587 fout << Beta * RAD_TO_DEG << " ";
590 case Beta_dot_record:
592 fout << Beta_dot << " ";
595 case Beta_dot_deg_record:
597 fout << Beta_dot * RAD_TO_DEG << " ";
600 case Gamma_vert_record:
602 fout << Gamma_vert_rad << " ";
605 case Gamma_vert_deg_record:
607 fout << Gamma_vert_rad * RAD_TO_DEG << " ";
610 case Gamma_horiz_record:
612 fout << Gamma_horiz_rad << " ";
615 case Gamma_horiz_deg_record:
617 fout << Gamma_horiz_rad * RAD_TO_DEG << " ";
621 /**************** Atmospheric Properties ***************/
624 fout << Density << " ";
629 fout << V_sound << " ";
632 case Mach_number_record:
634 fout << Mach_number << " ";
637 case Static_pressure_record:
639 fout << Static_pressure << " ";
642 case Total_pressure_record:
644 fout << Total_pressure << " ";
647 case Impact_pressure_record:
649 fout << Impact_pressure << " ";
652 case Dynamic_pressure_record:
654 fout << Dynamic_pressure << " ";
657 case Static_temperature_record:
659 fout << Static_temperature << " ";
662 case Total_temperature_record:
664 fout << Total_temperature << " ";
668 /******************** Earth Properties *****************/
671 fout << Gravity << " ";
674 case Sea_level_radius_record:
676 fout << Sea_level_radius << " ";
679 case Earth_position_angle_record:
681 fout << Earth_position_angle << " ";
684 case Runway_altitude_record:
686 fout << Runway_altitude << " ";
689 case Runway_latitude_record:
691 fout << Runway_latitude << " ";
694 case Runway_longitude_record:
696 fout << Runway_longitude << " ";
699 case Runway_heading_record:
701 fout << Runway_heading << " ";
704 case Radius_to_rwy_record:
706 fout << Radius_to_rwy << " ";
709 case D_pilot_north_of_rwy_record:
711 fout << D_pilot_north_of_rwy << " ";
714 case D_pilot_east_of_rwy_record:
716 fout << D_pilot_east_of_rwy << " ";
719 case D_pilot_above_rwy_record:
721 fout << D_pilot_above_rwy << " ";
724 case X_pilot_rwy_record:
726 fout << X_pilot_rwy << " ";
729 case Y_pilot_rwy_record:
731 fout << Y_pilot_rwy << " ";
734 case H_pilot_rwy_record:
736 fout << H_pilot_rwy << " ";
739 case D_cg_north_of_rwy_record:
741 fout << D_cg_north_of_rwy << " ";
744 case D_cg_east_of_rwy_record:
746 fout << D_cg_east_of_rwy << " ";
749 case D_cg_above_rwy_record:
751 fout << D_cg_above_rwy << " ";
754 case X_cg_rwy_record:
756 fout << X_cg_rwy << " ";
759 case Y_cg_rwy_record:
761 fout << Y_cg_rwy << " ";
764 case H_cg_rwy_record:
766 fout << H_cg_rwy << " ";
770 /********************* Engine Inputs *******************/
771 case Throttle_3_record:
773 fout << Throttle[3] << " ";
776 case Throttle_pct_record:
778 fout << Throttle_pct << " ";
782 /******************** Control Inputs *******************/
783 case Long_control_record:
785 fout << Long_control << " ";
788 case Long_trim_record:
790 fout << Long_trim << " ";
793 case Long_trim_deg_record:
795 fout << Long_trim * RAD_TO_DEG << " ";
798 case elevator_record:
800 fout << elevator << " ";
803 case elevator_deg_record:
805 fout << elevator * RAD_TO_DEG << " ";
808 case Lat_control_record:
810 fout << Lat_control << " ";
815 fout << aileron << " ";
818 case aileron_deg_record:
820 fout << aileron * RAD_TO_DEG << " ";
823 case Rudder_pedal_record:
825 fout << Rudder_pedal << " ";
830 fout << rudder << " ";
833 case rudder_deg_record:
835 fout << rudder * RAD_TO_DEG << " ";
838 case Flap_handle_record:
840 fout << Flap_handle << " ";
848 case flap_deg_record:
850 fout << flap * RAD_TO_DEG << " ";
853 case flap_goal_record:
855 fout << flap_goal << " ";
858 case flap_pos_record:
860 fout << flap_pos << " ";
864 /****************** Aero Coefficients ******************/
872 fout << CDfaI << " ";
877 fout << CDfCLI << " ";
882 fout << CDfadeI << " ";
887 fout << CDfdfI << " ";
892 fout << CDfadfI << " ";
900 case CXfabetafI_record:
902 fout << CXfabetafI << " ";
905 case CXfadefI_record:
907 fout << CXfadefI << " ";
912 fout << CXfaqfI << " ";
915 case CDo_save_record:
917 fout << CDo_save << " ";
920 case CDK_save_record:
922 fout << CDK_save << " ";
925 case CD_a_save_record:
927 fout << CD_a_save << " ";
930 case CD_adot_save_record:
932 fout << CD_adot_save << " ";
935 case CD_q_save_record:
937 fout << CD_q_save << " ";
940 case CD_ih_save_record:
942 fout << CD_ih_save << " ";
945 case CD_de_save_record:
947 fout << CD_de_save << " ";
950 case CXo_save_record:
952 fout << CXo_save << " ";
955 case CXK_save_record:
957 fout << CXK_save << " ";
960 case CX_a_save_record:
962 fout << CX_a_save << " ";
965 case CX_a2_save_record:
967 fout << CX_a2_save << " ";
970 case CX_a3_save_record:
972 fout << CX_a3_save << " ";
975 case CX_adot_save_record:
977 fout << CX_adot_save << " ";
980 case CX_q_save_record:
982 fout << CX_q_save << " ";
985 case CX_de_save_record:
987 fout << CX_de_save << " ";
990 case CX_dr_save_record:
992 fout << CX_dr_save << " ";
995 case CX_df_save_record:
997 fout << CX_df_save << " ";
1000 case CX_adf_save_record:
1002 fout << CX_adf_save << " ";
1012 fout << CLfaI << " ";
1015 case CLfadeI_record:
1017 fout << CLfadeI << " ";
1022 fout << CLfdfI << " ";
1025 case CLfadfI_record:
1027 fout << CLfadfI << " ";
1037 fout << CZfaI << " ";
1040 case CZfabetafI_record:
1042 fout << CZfabetafI << " ";
1045 case CZfadefI_record:
1047 fout << CZfadefI << " ";
1050 case CZfaqfI_record:
1052 fout << CZfaqfI << " ";
1055 case CLo_save_record:
1057 fout << CLo_save << " ";
1060 case CL_a_save_record:
1062 fout << CL_a_save << " ";
1065 case CL_adot_save_record:
1067 fout << CL_adot_save << " ";
1070 case CL_q_save_record:
1072 fout << CL_q_save << " ";
1075 case CL_ih_save_record:
1077 fout << CL_ih_save << " ";
1080 case CL_de_save_record:
1082 fout << CL_de_save << " ";
1085 case CZo_save_record:
1087 fout << CZo_save << " ";
1090 case CZ_a_save_record:
1092 fout << CZ_a_save << " ";
1095 case CZ_a2_save_record:
1097 fout << CZ_a2_save << " ";
1100 case CZ_a3_save_record:
1102 fout << CZ_a3_save << " ";
1105 case CZ_adot_save_record:
1107 fout << CZ_adot_save << " ";
1110 case CZ_q_save_record:
1112 fout << CZ_q_save << " ";
1115 case CZ_de_save_record:
1117 fout << CZ_de_save << " ";
1120 case CZ_deb2_save_record:
1122 fout << CZ_deb2_save << " ";
1125 case CZ_df_save_record:
1127 fout << CZ_df_save << " ";
1130 case CZ_adf_save_record:
1132 fout << CZ_adf_save << " ";
1142 fout << CmfaI << " ";
1145 case CmfadeI_record:
1147 fout << CmfadeI << " ";
1152 fout << CmfdfI << " ";
1155 case CmfadfI_record:
1157 fout << CmfadfI << " ";
1160 case CmfabetafI_record:
1162 fout << CmfabetafI << " ";
1165 case CmfadefI_record:
1167 fout << CmfadefI << " ";
1170 case CmfaqfI_record:
1172 fout << CmfaqfI << " ";
1175 case Cmo_save_record:
1177 fout << Cmo_save << " ";
1180 case Cm_a_save_record:
1182 fout << Cm_a_save << " ";
1185 case Cm_a2_save_record:
1187 fout << Cm_a2_save << " ";
1190 case Cm_adot_save_record:
1192 fout << Cm_adot_save << " ";
1195 case Cm_q_save_record:
1197 fout << Cm_q_save << " ";
1200 case Cm_ih_save_record:
1202 fout << Cm_ih_save << " ";
1205 case Cm_de_save_record:
1207 fout << Cm_de_save << " ";
1210 case Cm_b2_save_record:
1212 fout << Cm_b2_save << " ";
1215 case Cm_r_save_record:
1217 fout << Cm_r_save << " ";
1220 case Cm_df_save_record:
1222 fout << Cm_df_save << " ";
1230 case CYfadaI_record:
1232 fout << CYfadaI << " ";
1235 case CYfbetadrI_record:
1237 fout << CYfbetadrI << " ";
1240 case CYfabetafI_record:
1242 fout << CYfabetafI << " ";
1245 case CYfadafI_record:
1247 fout << CYfadafI << " ";
1250 case CYfadrfI_record:
1252 fout << CYfadrfI << " ";
1255 case CYfapfI_record:
1257 fout << CYfapfI << " ";
1260 case CYfarfI_record:
1262 fout << CYfarfI << " ";
1265 case CYo_save_record:
1267 fout << CYo_save << " ";
1270 case CY_beta_save_record:
1272 fout << CY_beta_save << " ";
1275 case CY_p_save_record:
1277 fout << CY_p_save << " ";
1280 case CY_r_save_record:
1282 fout << CY_r_save << " ";
1285 case CY_da_save_record:
1287 fout << CY_da_save << " ";
1290 case CY_dr_save_record:
1292 fout << CY_dr_save << " ";
1295 case CY_dra_save_record:
1297 fout << CY_dra_save << " ";
1300 case CY_bdot_save_record:
1302 fout << CY_bdot_save << " ";
1310 case ClfadaI_record:
1312 fout << ClfadaI << " ";
1315 case ClfbetadrI_record:
1317 fout << ClfbetadrI << " ";
1320 case ClfabetafI_record:
1322 fout << ClfabetafI << " ";
1325 case ClfadafI_record:
1327 fout << ClfadafI << " ";
1330 case ClfadrfI_record:
1332 fout << ClfadrfI << " ";
1335 case ClfapfI_record:
1337 fout << ClfapfI << " ";
1340 case ClfarfI_record:
1342 fout << ClfarfI << " ";
1345 case Clo_save_record:
1347 fout << Clo_save << " ";
1350 case Cl_beta_save_record:
1352 fout << Cl_beta_save << " ";
1355 case Cl_p_save_record:
1357 fout << Cl_p_save << " ";
1360 case Cl_r_save_record:
1362 fout << Cl_r_save << " ";
1365 case Cl_da_save_record:
1367 fout << Cl_da_save << " ";
1370 case Cl_dr_save_record:
1372 fout << Cl_dr_save << " ";
1375 case Cl_daa_save_record:
1377 fout << Cl_daa_save << " ";
1385 case CnfadaI_record:
1387 fout << CnfadaI << " ";
1390 case CnfbetadrI_record:
1392 fout << CnfbetadrI << " ";
1395 case CnfabetafI_record:
1397 fout << CnfabetafI << " ";
1400 case CnfadafI_record:
1402 fout << CnfadafI << " ";
1405 case CnfadrfI_record:
1407 fout << CnfadrfI << " ";
1410 case CnfapfI_record:
1412 fout << CnfapfI << " ";
1415 case CnfarfI_record:
1417 fout << CnfarfI << " ";
1420 case Cno_save_record:
1422 fout << Cno_save << " ";
1425 case Cn_beta_save_record:
1427 fout << Cn_beta_save << " ";
1430 case Cn_p_save_record:
1432 fout << Cn_p_save << " ";
1435 case Cn_r_save_record:
1437 fout << Cn_r_save << " ";
1440 case Cn_da_save_record:
1442 fout << Cn_da_save << " ";
1445 case Cn_dr_save_record:
1447 fout << Cn_dr_save << " ";
1450 case Cn_q_save_record:
1452 fout << Cn_q_save << " ";
1455 case Cn_b3_save_record:
1457 fout << Cn_b3_save << " ";
1461 /******************** Ice Detection ********************/
1462 case CLclean_wing_record:
1464 fout << CLclean_wing << " ";
1467 case CLiced_wing_record:
1469 fout << CLiced_wing << " ";
1472 case CLclean_tail_record:
1474 fout << CLclean_tail << " ";
1477 case CLiced_tail_record:
1479 fout << CLiced_tail << " ";
1482 case Lift_clean_wing_record:
1484 fout << Lift_clean_wing << " ";
1487 case Lift_iced_wing_record:
1489 fout << Lift_iced_wing << " ";
1492 case Lift_clean_tail_record:
1494 fout << Lift_clean_tail << " ";
1497 case Lift_iced_tail_record:
1499 fout << Lift_iced_tail << " ";
1502 case Gamma_clean_wing_record:
1504 fout << Gamma_clean_wing << " ";
1507 case Gamma_iced_wing_record:
1509 fout << Gamma_iced_wing << " ";
1512 case Gamma_clean_tail_record:
1514 fout << Gamma_clean_tail << " ";
1517 case Gamma_iced_tail_record:
1519 fout << Gamma_iced_tail << " ";
1522 case w_clean_wing_record:
1524 fout << w_clean_wing << " ";
1527 case w_iced_wing_record:
1529 fout << w_iced_wing << " ";
1532 case w_clean_tail_record:
1534 fout << w_clean_tail << " ";
1537 case w_iced_tail_record:
1539 fout << w_iced_tail << " ";
1542 case V_total_clean_wing_record:
1544 fout << V_total_clean_wing << " ";
1547 case V_total_iced_wing_record:
1549 fout << V_total_iced_wing << " ";
1552 case V_total_clean_tail_record:
1554 fout << V_total_clean_tail << " ";
1557 case V_total_iced_tail_record:
1559 fout << V_total_iced_tail << " ";
1562 case beta_flow_clean_wing_record:
1564 fout << beta_flow_clean_wing << " ";
1567 case beta_flow_clean_wing_deg_record:
1569 fout << beta_flow_clean_wing * RAD_TO_DEG << " ";
1572 case beta_flow_iced_wing_record:
1574 fout << beta_flow_iced_wing << " ";
1577 case beta_flow_iced_wing_deg_record:
1579 fout << beta_flow_iced_wing * RAD_TO_DEG << " ";
1582 case beta_flow_clean_tail_record:
1584 fout << beta_flow_clean_tail << " ";
1587 case beta_flow_clean_tail_deg_record:
1589 fout << beta_flow_clean_tail * RAD_TO_DEG << " ";
1592 case beta_flow_iced_tail_record:
1594 fout << beta_flow_iced_tail << " ";
1597 case beta_flow_iced_tail_deg_record:
1599 fout << beta_flow_iced_tail * RAD_TO_DEG << " ";
1602 case Dbeta_flow_wing_record:
1604 fout << Dbeta_flow_wing << " ";
1607 case Dbeta_flow_wing_deg_record:
1609 fout << Dbeta_flow_wing * RAD_TO_DEG << " ";
1612 case Dbeta_flow_tail_record:
1614 fout << Dbeta_flow_tail << " ";
1617 case Dbeta_flow_tail_deg_record:
1619 fout << Dbeta_flow_tail * RAD_TO_DEG << " ";
1622 case pct_beta_flow_wing_record:
1624 fout << pct_beta_flow_wing << " ";
1627 case pct_beta_flow_tail_record:
1629 fout << pct_beta_flow_tail << " ";
1633 /************************ Forces ***********************/
1634 case F_X_wind_record:
1636 fout << F_X_wind << " ";
1639 case F_Y_wind_record:
1641 fout << F_Y_wind << " ";
1644 case F_Z_wind_record:
1646 fout << F_Z_wind << " ";
1649 case F_X_aero_record:
1651 fout << F_X_aero << " ";
1654 case F_Y_aero_record:
1656 fout << F_Y_aero << " ";
1659 case F_Z_aero_record:
1661 fout << F_Z_aero << " ";
1664 case F_X_engine_record:
1666 fout << F_X_engine << " ";
1669 case F_Y_engine_record:
1671 fout << F_Y_engine << " ";
1674 case F_Z_engine_record:
1676 fout << F_Z_engine << " ";
1679 case F_X_gear_record:
1681 fout << F_X_gear << " ";
1684 case F_Y_gear_record:
1686 fout << F_Y_gear << " ";
1689 case F_Z_gear_record:
1691 fout << F_Z_gear << " ";
1709 case F_north_record:
1711 fout << F_north << " ";
1716 fout << F_east << " ";
1721 fout << F_down << " ";
1725 /*********************** Moments ***********************/
1726 case M_l_aero_record:
1728 fout << M_l_aero << " ";
1731 case M_m_aero_record:
1733 fout << M_m_aero << " ";
1736 case M_n_aero_record:
1738 fout << M_n_aero << " ";
1741 case M_l_engine_record:
1743 fout << M_l_engine << " ";
1746 case M_m_engine_record:
1748 fout << M_m_engine << " ";
1751 case M_n_engine_record:
1753 fout << M_n_engine << " ";
1756 case M_l_gear_record:
1758 fout << M_l_gear << " ";
1761 case M_m_gear_record:
1763 fout << M_m_gear << " ";
1766 case M_n_gear_record:
1768 fout << M_n_gear << " ";
1773 fout << M_l_rp << " ";
1778 fout << M_m_rp << " ";
1783 fout << M_n_rp << " ";
1792 // end uiuc_recorder.cpp