1 /**********************************************************************
3 FILENAME: uiuc_menu.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: reads input file for specified aircraft and creates
8 approporiate data storage space
10 ----------------------------------------------------------------------
14 ----------------------------------------------------------------------
16 REFERENCES: based on "menu reader" format of Michael Selig
18 ----------------------------------------------------------------------
20 HISTORY: 01/29/2000 initial release
21 02/18/2000 (JS) added 1D data file capability for
22 CL(a) and CD(a) -- calls
24 02/22/2000 (JS) added ice map functions
25 02/29/2000 (JS) added 2D data file capability for
26 CL(a,de), CD(a,de), Cm(a,de), CY(a,da),
27 CY(beta,dr), Cl(a,da), Cl(beta,dr),
28 Cn(a,da), Cn(beta,dr) -- calls
30 02/02/2000 (JS) added record options for 1D and
31 2D interpolated variables
32 03/28/2000 (JS) streamlined conversion factors for
33 file readers -- since they are global
34 variables, it is not necessary to put
35 them in the function calls
36 03/29/2000 (JS) added Cmfa and Weight flags;
37 added misc map; added Dx_cg (etc) to init
39 04/01/2000 (JS) added throttle, longitudinal, lateral,
40 and rudder inputs to record map
41 04/05/2000 (JS) added Altitude to init and record
42 maps; added zero_Long_trim to
44 03/09/2001 (DPM) added support for gear.
46 ----------------------------------------------------------------------
48 AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
49 Jeff Scott <jscott@mail.com>
50 Michael Selig <m-selig@uiuc.edu>
51 David Megginson <david@megginson.com>
53 ----------------------------------------------------------------------
57 ----------------------------------------------------------------------
61 ----------------------------------------------------------------------
65 ----------------------------------------------------------------------
67 CALLED BY: uiuc_wrapper.cpp
69 ----------------------------------------------------------------------
71 CALLS TO: aircraft.dat
72 tabulated data files (if needed)
74 ----------------------------------------------------------------------
76 COPYRIGHT: (C) 2000 by Michael Selig
78 This program is free software; you can redistribute it and/or
79 modify it under the terms of the GNU General Public License
80 as published by the Free Software Foundation.
82 This program is distributed in the hope that it will be useful,
83 but WITHOUT ANY WARRANTY; without even the implied warranty of
84 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
85 GNU General Public License for more details.
87 You should have received a copy of the GNU General Public License
88 along with this program; if not, write to the Free Software
89 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
90 USA or view http://www.gnu.org/copyleft/gpl.html.
92 **********************************************************************/
94 #include <simgear/compiler.h>
96 #if defined( __MWERKS__ )
97 // -dw- optimizer chokes (big-time) trying to optimize humongous
98 // loop/switch statements
99 #pragma optimization_level 0
103 #include STL_IOSTREAM
105 #include "uiuc_menu.h"
115 bool check_float(string &token)
118 istrstream stream(token.c_str());
119 return (stream >> value);
123 void uiuc_menu( string aircraft_name )
127 int token_value_recordRate;
128 int token_value_convert1, token_value_convert2, token_value_convert3;
138 /* the following default setting should eventually be moved to a default or uiuc_init routine */
140 recordRate = 1; /* record every time step, default */
141 recordStartTime = 0; /* record from beginning of simulation */
143 /* set speed at which dynamic pressure terms will be accounted for,
144 since if velocity is too small, coefficients will go to infinity */
145 dyn_on_speed = 33; /* 20 kts, default */
149 /* Read the file and get the list of commands */
150 airplane = new ParseFile(aircraft_name); /* struct that includes all lines of the input file */
151 command_list = airplane -> getCommands();
152 /* structs to include all parts included in the input file for specific keyword groups */
153 initParts = new ParseFile();
154 geometryParts = new ParseFile();
155 massParts = new ParseFile();
156 engineParts = new ParseFile();
157 aeroDragParts = new ParseFile();
158 aeroLiftParts = new ParseFile();
159 aeroPitchParts = new ParseFile();
160 aeroSideforceParts = new ParseFile();
161 aeroRollParts = new ParseFile();
162 aeroYawParts = new ParseFile();
163 gearParts = new ParseFile();
164 recordParts = new ParseFile();
166 if (command_list.begin() == command_list.end())
168 cerr << "UIUC ERROR: File " << aircraft_name <<" does not exist" << endl;
172 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
174 cout << *command_line << endl;
176 linetoken1 = airplane -> getToken (*command_line, 1);
177 linetoken2 = airplane -> getToken (*command_line, 2);
178 linetoken3 = airplane -> getToken (*command_line, 3);
179 linetoken4 = airplane -> getToken (*command_line, 4);
180 linetoken5 = airplane -> getToken (*command_line, 5);
181 linetoken6 = airplane -> getToken (*command_line, 6);
183 istrstream token3(linetoken3.c_str());
184 istrstream token4(linetoken4.c_str());
185 istrstream token5(linetoken5.c_str());
186 istrstream token6(linetoken6.c_str());
188 switch (Keyword_map[linetoken1])
192 switch(init_map[linetoken2])
196 if (check_float(linetoken3))
197 token3 >> token_value;
199 uiuc_warnings_errors(1, *command_line);
201 Dx_pilot = token_value;
202 initParts -> storeCommands (*command_line);
207 if (check_float(linetoken3))
208 token3 >> token_value;
210 uiuc_warnings_errors(1, *command_line);
212 Dy_pilot = token_value;
213 initParts -> storeCommands (*command_line);
218 if (check_float(linetoken3))
219 token3 >> token_value;
221 uiuc_warnings_errors(1, *command_line);
223 Dz_pilot = token_value;
224 initParts -> storeCommands (*command_line);
229 if (check_float(linetoken3))
230 token3 >> token_value;
232 uiuc_warnings_errors(1, *command_line);
235 initParts -> storeCommands (*command_line);
240 if (check_float(linetoken3))
241 token3 >> token_value;
243 uiuc_warnings_errors(1, *command_line);
246 initParts -> storeCommands (*command_line);
251 if (check_float(linetoken3))
252 token3 >> token_value;
254 uiuc_warnings_errors(1, *command_line);
257 initParts -> storeCommands (*command_line);
262 if (check_float(linetoken3))
263 token3 >> token_value;
265 uiuc_warnings_errors(1, *command_line);
267 Altitude = token_value;
268 initParts -> storeCommands (*command_line);
273 if (check_float(linetoken3))
274 token3 >> token_value;
276 uiuc_warnings_errors(1, *command_line);
278 V_north = token_value;
279 initParts -> storeCommands (*command_line);
284 initParts -> storeCommands (*command_line);
285 if (check_float(linetoken3))
286 token3 >> token_value;
288 uiuc_warnings_errors(1, *command_line);
290 V_east = token_value;
295 if (check_float(linetoken3))
296 token3 >> token_value;
298 uiuc_warnings_errors(1, *command_line);
300 V_down = token_value;
301 initParts -> storeCommands (*command_line);
306 if (check_float(linetoken3))
307 token3 >> token_value;
309 uiuc_warnings_errors(1, *command_line);
311 P_body = token_value;
312 initParts -> storeCommands (*command_line);
317 if (check_float(linetoken3))
318 token3 >> token_value;
320 uiuc_warnings_errors(1, *command_line);
322 Q_body = token_value;
323 initParts -> storeCommands (*command_line);
328 if (check_float(linetoken3))
329 token3 >> token_value;
331 uiuc_warnings_errors(1, *command_line);
333 R_body = token_value;
334 initParts -> storeCommands (*command_line);
339 if (check_float(linetoken3))
340 token3 >> token_value;
342 uiuc_warnings_errors(1, *command_line);
345 initParts -> storeCommands (*command_line);
350 if (check_float(linetoken3))
351 token3 >> token_value;
353 uiuc_warnings_errors(1, *command_line);
356 initParts -> storeCommands (*command_line);
361 if (check_float(linetoken3))
362 token3 >> token_value;
364 uiuc_warnings_errors(1, *command_line);
367 initParts -> storeCommands (*command_line);
372 if (check_float(linetoken3))
373 token3 >> token_value;
375 uiuc_warnings_errors(1, *command_line);
377 Long_trim = token_value;
378 initParts -> storeCommands (*command_line);
381 case recordRate_flag:
383 //can't use check_float since variable is integer
384 token3 >> token_value_recordRate;
385 recordRate = 120 / token_value_recordRate;
388 case recordStartTime_flag:
390 if (check_float(linetoken3))
391 token3 >> token_value;
393 uiuc_warnings_errors(1, *command_line);
395 recordStartTime = token_value;
398 case nondim_rate_V_rel_wind_flag:
400 nondim_rate_V_rel_wind = true;
403 case dyn_on_speed_flag:
405 if (check_float(linetoken3))
406 token3 >> token_value;
408 uiuc_warnings_errors(1, *command_line);
410 dyn_on_speed = token_value;
415 uiuc_warnings_errors(2, *command_line);
425 switch(geometry_map[linetoken2])
429 if (check_float(linetoken3))
430 token3 >> token_value;
432 uiuc_warnings_errors(1, *command_line);
435 geometryParts -> storeCommands (*command_line);
440 if (check_float(linetoken3))
441 token3 >> token_value;
443 uiuc_warnings_errors(1, *command_line);
446 geometryParts -> storeCommands (*command_line);
451 if (check_float(linetoken3))
452 token3 >> token_value;
454 uiuc_warnings_errors(1, *command_line);
457 geometryParts -> storeCommands (*command_line);
462 if (check_float(linetoken3))
463 token3 >> token_value;
465 uiuc_warnings_errors(1, *command_line);
468 geometryParts -> storeCommands (*command_line);
473 if (check_float(linetoken3))
474 token3 >> token_value;
476 uiuc_warnings_errors(1, *command_line);
479 geometryParts -> storeCommands (*command_line);
484 if (check_float(linetoken3))
485 token3 >> token_value;
487 uiuc_warnings_errors(1, *command_line);
490 geometryParts -> storeCommands (*command_line);
495 if (check_float(linetoken3))
496 token3 >> token_value;
498 uiuc_warnings_errors(1, *command_line);
501 geometryParts -> storeCommands (*command_line);
506 uiuc_warnings_errors(2, *command_line);
511 } // end geometry map
514 case controlSurface_flag:
516 switch(controlSurface_map[linetoken2])
520 if (check_float(linetoken3))
521 token3 >> token_value;
523 uiuc_warnings_errors(1, *command_line);
527 if (check_float(linetoken4))
528 token4 >> token_value;
530 uiuc_warnings_errors(1, *command_line);
537 if (check_float(linetoken3))
538 token3 >> token_value;
540 uiuc_warnings_errors(1, *command_line);
544 if (check_float(linetoken4))
545 token4 >> token_value;
547 uiuc_warnings_errors(1, *command_line);
554 if (check_float(linetoken3))
555 token3 >> token_value;
557 uiuc_warnings_errors(1, *command_line);
561 if (check_float(linetoken4))
562 token4 >> token_value;
564 uiuc_warnings_errors(1, *command_line);
569 case set_Long_trim_flag:
571 if (check_float(linetoken3))
572 token3 >> token_value;
574 uiuc_warnings_errors(1, *command_line);
576 set_Long_trim = true;
577 elevator_tab = token_value;
580 case set_Long_trim_deg_flag:
582 if (check_float(linetoken3))
583 token3 >> token_value;
585 uiuc_warnings_errors(1, *command_line);
587 set_Long_trim = true;
588 elevator_tab = token_value * DEG_TO_RAD;
591 case zero_Long_trim_flag:
593 zero_Long_trim = true;
596 case elevator_step_flag:
598 // set step input flag
599 elevator_step = true;
601 // read in step angle in degrees and convert
602 if (check_float(linetoken3))
603 token3 >> token_value;
605 uiuc_warnings_errors(1, *command_line);
607 elevator_step_angle = token_value * DEG_TO_RAD;
609 // read in step start time
610 if (check_float(linetoken4))
611 token4 >> token_value;
613 uiuc_warnings_errors(1, *command_line);
615 elevator_step_startTime = token_value;
618 case elevator_singlet_flag:
620 // set singlet input flag
621 elevator_singlet = true;
623 // read in singlet angle in degrees and convert
624 if (check_float(linetoken3))
625 token3 >> token_value;
627 uiuc_warnings_errors(1, *command_line);
629 elevator_singlet_angle = token_value * DEG_TO_RAD;
631 // read in singlet start time
632 if (check_float(linetoken4))
633 token4 >> token_value;
635 uiuc_warnings_errors(1, *command_line);
637 elevator_singlet_startTime = token_value;
639 // read in singlet duration
640 if (check_float(linetoken5))
641 token5 >> token_value;
643 uiuc_warnings_errors(1, *command_line);
645 elevator_singlet_duration = token_value;
648 case elevator_doublet_flag:
650 // set doublet input flag
651 elevator_doublet = true;
653 // read in doublet angle in degrees and convert
654 if (check_float(linetoken3))
655 token3 >> token_value;
657 uiuc_warnings_errors(1, *command_line);
659 elevator_doublet_angle = token_value * DEG_TO_RAD;
661 // read in doublet start time
662 if (check_float(linetoken4))
663 token4 >> token_value;
665 uiuc_warnings_errors(1, *command_line);
667 elevator_doublet_startTime = token_value;
669 // read in doublet duration
670 if (check_float(linetoken5))
671 token5 >> token_value;
673 uiuc_warnings_errors(1, *command_line);
675 elevator_doublet_duration = token_value;
678 case elevator_input_flag:
680 elevator_input = true;
681 elevator_input_file = linetoken3;
682 token4 >> token_value_convert1;
683 token5 >> token_value_convert2;
684 convert_y = uiuc_convert(token_value_convert1);
685 convert_x = uiuc_convert(token_value_convert2);
686 uiuc_1DdataFileReader(elevator_input_file,
687 elevator_input_timeArray,
688 elevator_input_deArray,
689 elevator_input_ntime);
690 token6 >> token_value;
691 elevator_input_startTime = token_value;
696 uiuc_warnings_errors(2, *command_line);
701 } // end controlSurface map
706 switch(mass_map[linetoken2])
710 if (check_float(linetoken3))
711 token3 >> token_value;
713 uiuc_warnings_errors(1, *command_line);
715 Weight = token_value;
716 Mass = Weight * INVG;
717 massParts -> storeCommands (*command_line);
722 if (check_float(linetoken3))
723 token3 >> token_value;
725 uiuc_warnings_errors(1, *command_line);
728 massParts -> storeCommands (*command_line);
733 if (check_float(linetoken3))
734 token3 >> token_value;
736 uiuc_warnings_errors(1, *command_line);
739 massParts -> storeCommands (*command_line);
744 if (check_float(linetoken3))
745 token3 >> token_value;
747 uiuc_warnings_errors(1, *command_line);
750 massParts -> storeCommands (*command_line);
755 if (check_float(linetoken3))
756 token3 >> token_value;
758 uiuc_warnings_errors(1, *command_line);
761 massParts -> storeCommands (*command_line);
766 if (check_float(linetoken3))
767 token3 >> token_value;
769 uiuc_warnings_errors(1, *command_line);
772 massParts -> storeCommands (*command_line);
777 uiuc_warnings_errors(2, *command_line);
787 switch(engine_map[linetoken2])
789 case simpleSingle_flag:
791 if (check_float(linetoken3))
792 token3 >> token_value;
794 uiuc_warnings_errors(1, *command_line);
796 simpleSingleMaxThrust = token_value;
797 engineParts -> storeCommands (*command_line);
802 engineParts -> storeCommands (*command_line);
807 engineParts -> storeCommands (*command_line);
812 uiuc_warnings_errors(2, *command_line);
822 switch(CD_map[linetoken2])
826 if (check_float(linetoken3))
827 token3 >> token_value;
829 uiuc_warnings_errors(1, *command_line);
833 aeroDragParts -> storeCommands (*command_line);
838 if (check_float(linetoken3))
839 token3 >> token_value;
841 uiuc_warnings_errors(1, *command_line);
845 aeroDragParts -> storeCommands (*command_line);
850 if (check_float(linetoken3))
851 token3 >> token_value;
853 uiuc_warnings_errors(1, *command_line);
857 aeroDragParts -> storeCommands (*command_line);
862 if (check_float(linetoken3))
863 token3 >> token_value;
865 uiuc_warnings_errors(1, *command_line);
867 CD_adot = token_value;
868 CD_adot_clean = CD_adot;
869 aeroDragParts -> storeCommands (*command_line);
874 if (check_float(linetoken3))
875 token3 >> token_value;
877 uiuc_warnings_errors(1, *command_line);
881 aeroDragParts -> storeCommands (*command_line);
886 if (check_float(linetoken3))
887 token3 >> token_value;
889 uiuc_warnings_errors(1, *command_line);
892 aeroDragParts -> storeCommands (*command_line);
897 if (check_float(linetoken3))
898 token3 >> token_value;
900 uiuc_warnings_errors(1, *command_line);
904 aeroDragParts -> storeCommands (*command_line);
910 token4 >> token_value_convert1;
911 token5 >> token_value_convert2;
912 convert_y = uiuc_convert(token_value_convert1);
913 convert_x = uiuc_convert(token_value_convert2);
914 /* call 1D File Reader with file name (CDfa) and conversion
915 factors; function returns array of alphas (aArray) and
916 corresponding CD values (CDArray) and max number of
917 terms in arrays (nAlpha) */
918 uiuc_1DdataFileReader(CDfa,
922 aeroDragParts -> storeCommands (*command_line);
928 token4 >> token_value_convert1;
929 token5 >> token_value_convert2;
930 convert_y = uiuc_convert(token_value_convert1);
931 convert_x = uiuc_convert(token_value_convert2);
932 /* call 1D File Reader with file name (CDfCL) and conversion
933 factors; function returns array of CLs (CLArray) and
934 corresponding CD values (CDArray) and max number of
935 terms in arrays (nCL) */
936 uiuc_1DdataFileReader(CDfCL,
940 aeroDragParts -> storeCommands (*command_line);
946 token4 >> token_value_convert1;
947 token5 >> token_value_convert2;
948 token6 >> token_value_convert3;
949 convert_z = uiuc_convert(token_value_convert1);
950 convert_x = uiuc_convert(token_value_convert2);
951 convert_y = uiuc_convert(token_value_convert3);
952 /* call 2D File Reader with file name (CDfade) and
953 conversion factors; function returns array of
954 elevator deflections (deArray) and corresponding
955 alpha (aArray) and delta CD (CDArray) values and
956 max number of terms in alpha arrays (nAlphaArray)
957 and deflection array (nde) */
958 uiuc_2DdataFileReader(CDfade,
964 aeroDragParts -> storeCommands (*command_line);
970 token4 >> token_value_convert1;
971 token5 >> token_value_convert2;
972 convert_y = uiuc_convert(token_value_convert1);
973 convert_x = uiuc_convert(token_value_convert2);
974 /* call 1D File Reader with file name (CDfdf) and conversion
975 factors; function returns array of dfs (dfArray) and
976 corresponding CD values (CDArray) and max number of
977 terms in arrays (ndf) */
978 uiuc_1DdataFileReader(CDfdf,
982 aeroDragParts -> storeCommands (*command_line);
988 token4 >> token_value_convert1;
989 token5 >> token_value_convert2;
990 token6 >> token_value_convert3;
991 convert_z = uiuc_convert(token_value_convert1);
992 convert_x = uiuc_convert(token_value_convert2);
993 convert_y = uiuc_convert(token_value_convert3);
994 /* call 2D File Reader with file name (CDfadf) and
995 conversion factors; function returns array of
996 flap deflections (dfArray) and corresponding
997 alpha (aArray) and delta CD (CDArray) values and
998 max number of terms in alpha arrays (nAlphaArray)
999 and deflection array (ndf) */
1000 uiuc_2DdataFileReader(CDfadf,
1006 aeroDragParts -> storeCommands (*command_line);
1011 if (check_float(linetoken3))
1012 token3 >> token_value;
1014 uiuc_warnings_errors(1, *command_line);
1018 aeroDragParts -> storeCommands (*command_line);
1023 if (check_float(linetoken3))
1024 token3 >> token_value;
1026 uiuc_warnings_errors(1, *command_line);
1030 aeroDragParts -> storeCommands (*command_line);
1035 if (check_float(linetoken3))
1036 token3 >> token_value;
1038 uiuc_warnings_errors(1, *command_line);
1042 aeroDragParts -> storeCommands (*command_line);
1047 if (check_float(linetoken3))
1048 token3 >> token_value;
1050 uiuc_warnings_errors(1, *command_line);
1052 CX_a2 = token_value;
1053 CX_a2_clean = CX_a2;
1054 aeroDragParts -> storeCommands (*command_line);
1059 if (check_float(linetoken3))
1060 token3 >> token_value;
1062 uiuc_warnings_errors(1, *command_line);
1064 CX_a3 = token_value;
1065 CX_a3_clean = CX_a3;
1066 aeroDragParts -> storeCommands (*command_line);
1071 if (check_float(linetoken3))
1072 token3 >> token_value;
1074 uiuc_warnings_errors(1, *command_line);
1076 CX_adot = token_value;
1077 CX_adot_clean = CX_adot;
1078 aeroDragParts -> storeCommands (*command_line);
1083 if (check_float(linetoken3))
1084 token3 >> token_value;
1086 uiuc_warnings_errors(1, *command_line);
1090 aeroDragParts -> storeCommands (*command_line);
1095 if (check_float(linetoken3))
1096 token3 >> token_value;
1098 uiuc_warnings_errors(1, *command_line);
1100 CX_de = token_value;
1101 CX_de_clean = CX_de;
1102 aeroDragParts -> storeCommands (*command_line);
1107 if (check_float(linetoken3))
1108 token3 >> token_value;
1110 uiuc_warnings_errors(1, *command_line);
1112 CX_dr = token_value;
1113 CX_dr_clean = CX_dr;
1114 aeroDragParts -> storeCommands (*command_line);
1119 if (check_float(linetoken3))
1120 token3 >> token_value;
1122 uiuc_warnings_errors(1, *command_line);
1124 CX_df = token_value;
1125 CX_df_clean = CX_df;
1126 aeroDragParts -> storeCommands (*command_line);
1131 if (check_float(linetoken3))
1132 token3 >> token_value;
1134 uiuc_warnings_errors(1, *command_line);
1136 CX_adf = token_value;
1137 CX_adf_clean = CX_adf;
1138 aeroDragParts -> storeCommands (*command_line);
1143 uiuc_warnings_errors(2, *command_line);
1153 switch(CL_map[linetoken2])
1157 if (check_float(linetoken3))
1158 token3 >> token_value;
1160 uiuc_warnings_errors(1, *command_line);
1164 aeroLiftParts -> storeCommands (*command_line);
1169 if (check_float(linetoken3))
1170 token3 >> token_value;
1172 uiuc_warnings_errors(1, *command_line);
1176 aeroLiftParts -> storeCommands (*command_line);
1181 if (check_float(linetoken3))
1182 token3 >> token_value;
1184 uiuc_warnings_errors(1, *command_line);
1186 CL_adot = token_value;
1187 CL_adot_clean = CL_adot;
1188 aeroLiftParts -> storeCommands (*command_line);
1193 if (check_float(linetoken3))
1194 token3 >> token_value;
1196 uiuc_warnings_errors(1, *command_line);
1200 aeroLiftParts -> storeCommands (*command_line);
1205 if (check_float(linetoken3))
1206 token3 >> token_value;
1208 uiuc_warnings_errors(1, *command_line);
1210 CL_ih = token_value;
1211 aeroLiftParts -> storeCommands (*command_line);
1216 if (check_float(linetoken3))
1217 token3 >> token_value;
1219 uiuc_warnings_errors(1, *command_line);
1221 CL_de = token_value;
1222 CL_de_clean = CL_de;
1223 aeroLiftParts -> storeCommands (*command_line);
1229 token4 >> token_value_convert1;
1230 token5 >> token_value_convert2;
1231 convert_y = uiuc_convert(token_value_convert1);
1232 convert_x = uiuc_convert(token_value_convert2);
1233 /* call 1D File Reader with file name (CLfa) and conversion
1234 factors; function returns array of alphas (aArray) and
1235 corresponding CL values (CLArray) and max number of
1236 terms in arrays (nAlpha) */
1237 uiuc_1DdataFileReader(CLfa,
1241 aeroLiftParts -> storeCommands (*command_line);
1246 CLfade = linetoken3;
1247 token4 >> token_value_convert1;
1248 token5 >> token_value_convert2;
1249 token6 >> token_value_convert3;
1250 convert_z = uiuc_convert(token_value_convert1);
1251 convert_x = uiuc_convert(token_value_convert2);
1252 convert_y = uiuc_convert(token_value_convert3);
1253 /* call 2D File Reader with file name (CLfade) and
1254 conversion factors; function returns array of
1255 elevator deflections (deArray) and corresponding
1256 alpha (aArray) and delta CL (CLArray) values and
1257 max number of terms in alpha arrays (nAlphaArray)
1258 and deflection array (nde) */
1259 uiuc_2DdataFileReader(CLfade,
1265 aeroLiftParts -> storeCommands (*command_line);
1271 token4 >> token_value_convert1;
1272 token5 >> token_value_convert2;
1273 convert_y = uiuc_convert(token_value_convert1);
1274 convert_x = uiuc_convert(token_value_convert2);
1275 /* call 1D File Reader with file name (CLfdf) and conversion
1276 factors; function returns array of dfs (dfArray) and
1277 corresponding CL values (CLArray) and max number of
1278 terms in arrays (ndf) */
1279 uiuc_1DdataFileReader(CLfdf,
1283 aeroLiftParts -> storeCommands (*command_line);
1285 // additional variables to streamline flap routine in aerodeflections
1287 int temp_counter = 1;
1288 while (temp_counter <= ndf)
1290 dfArray[temp_counter] = CLfdf_dfArray[temp_counter];
1291 TimeArray[temp_counter] = dfTimefdf_TimeArray[temp_counter];
1298 CLfadf = linetoken3;
1299 token4 >> token_value_convert1;
1300 token5 >> token_value_convert2;
1301 token6 >> token_value_convert3;
1302 convert_z = uiuc_convert(token_value_convert1);
1303 convert_x = uiuc_convert(token_value_convert2);
1304 convert_y = uiuc_convert(token_value_convert3);
1305 /* call 2D File Reader with file name (CLfadf) and
1306 conversion factors; function returns array of
1307 flap deflections (dfArray) and corresponding
1308 alpha (aArray) and delta CL (CLArray) values and
1309 max number of terms in alpha arrays (nAlphaArray)
1310 and deflection array (ndf) */
1311 uiuc_2DdataFileReader(CLfadf,
1317 aeroLiftParts -> storeCommands (*command_line);
1322 if (check_float(linetoken3))
1323 token3 >> token_value;
1325 uiuc_warnings_errors(1, *command_line);
1329 aeroLiftParts -> storeCommands (*command_line);
1334 if (check_float(linetoken3))
1335 token3 >> token_value;
1337 uiuc_warnings_errors(1, *command_line);
1341 aeroLiftParts -> storeCommands (*command_line);
1346 if (check_float(linetoken3))
1347 token3 >> token_value;
1349 uiuc_warnings_errors(1, *command_line);
1351 CZ_a2 = token_value;
1352 CZ_a2_clean = CZ_a2;
1353 aeroLiftParts -> storeCommands (*command_line);
1358 if (check_float(linetoken3))
1359 token3 >> token_value;
1361 uiuc_warnings_errors(1, *command_line);
1363 CZ_a3 = token_value;
1364 CZ_a3_clean = CZ_a3;
1365 aeroLiftParts -> storeCommands (*command_line);
1370 if (check_float(linetoken3))
1371 token3 >> token_value;
1373 uiuc_warnings_errors(1, *command_line);
1375 CZ_adot = token_value;
1376 CZ_adot_clean = CZ_adot;
1377 aeroLiftParts -> storeCommands (*command_line);
1382 if (check_float(linetoken3))
1383 token3 >> token_value;
1385 uiuc_warnings_errors(1, *command_line);
1389 aeroLiftParts -> storeCommands (*command_line);
1394 if (check_float(linetoken3))
1395 token3 >> token_value;
1397 uiuc_warnings_errors(1, *command_line);
1399 CZ_de = token_value;
1400 CZ_de_clean = CZ_de;
1401 aeroLiftParts -> storeCommands (*command_line);
1406 if (check_float(linetoken3))
1407 token3 >> token_value;
1409 uiuc_warnings_errors(1, *command_line);
1411 CZ_deb2 = token_value;
1412 CZ_deb2_clean = CZ_deb2;
1413 aeroLiftParts -> storeCommands (*command_line);
1418 if (check_float(linetoken3))
1419 token3 >> token_value;
1421 uiuc_warnings_errors(1, *command_line);
1423 CZ_df = token_value;
1424 CZ_df_clean = CZ_df;
1425 aeroLiftParts -> storeCommands (*command_line);
1430 if (check_float(linetoken3))
1431 token3 >> token_value;
1433 uiuc_warnings_errors(1, *command_line);
1435 CZ_adf = token_value;
1436 CZ_adf_clean = CZ_adf;
1437 aeroLiftParts -> storeCommands (*command_line);
1442 uiuc_warnings_errors(2, *command_line);
1452 switch(Cm_map[linetoken2])
1456 if (check_float(linetoken3))
1457 token3 >> token_value;
1459 uiuc_warnings_errors(1, *command_line);
1463 aeroPitchParts -> storeCommands (*command_line);
1468 if (check_float(linetoken3))
1469 token3 >> token_value;
1471 uiuc_warnings_errors(1, *command_line);
1475 aeroPitchParts -> storeCommands (*command_line);
1480 if (check_float(linetoken3))
1481 token3 >> token_value;
1483 uiuc_warnings_errors(1, *command_line);
1485 Cm_a2 = token_value;
1486 Cm_a2_clean = Cm_a2;
1487 aeroPitchParts -> storeCommands (*command_line);
1492 if (check_float(linetoken3))
1493 token3 >> token_value;
1495 uiuc_warnings_errors(1, *command_line);
1497 Cm_adot = token_value;
1498 Cm_adot_clean = Cm_adot;
1499 aeroPitchParts -> storeCommands (*command_line);
1504 if (check_float(linetoken3))
1505 token3 >> token_value;
1507 uiuc_warnings_errors(1, *command_line);
1511 aeroPitchParts -> storeCommands (*command_line);
1516 if (check_float(linetoken3))
1517 token3 >> token_value;
1519 uiuc_warnings_errors(1, *command_line);
1521 Cm_ih = token_value;
1522 aeroPitchParts -> storeCommands (*command_line);
1527 if (check_float(linetoken3))
1528 token3 >> token_value;
1530 uiuc_warnings_errors(1, *command_line);
1532 Cm_de = token_value;
1533 Cm_de_clean = Cm_de;
1534 aeroPitchParts -> storeCommands (*command_line);
1539 if (check_float(linetoken3))
1540 token3 >> token_value;
1542 uiuc_warnings_errors(1, *command_line);
1544 Cm_b2 = token_value;
1545 Cm_b2_clean = Cm_b2;
1546 aeroPitchParts -> storeCommands (*command_line);
1551 if (check_float(linetoken3))
1552 token3 >> token_value;
1554 uiuc_warnings_errors(1, *command_line);
1558 aeroPitchParts -> storeCommands (*command_line);
1563 if (check_float(linetoken3))
1564 token3 >> token_value;
1566 uiuc_warnings_errors(1, *command_line);
1568 Cm_df = token_value;
1569 Cm_df_clean = Cm_df;
1570 aeroPitchParts -> storeCommands (*command_line);
1576 token4 >> token_value_convert1;
1577 token5 >> token_value_convert2;
1578 convert_y = uiuc_convert(token_value_convert1);
1579 convert_x = uiuc_convert(token_value_convert2);
1580 /* call 1D File Reader with file name (Cmfa) and conversion
1581 factors; function returns array of alphas (aArray) and
1582 corresponding Cm values (CmArray) and max number of
1583 terms in arrays (nAlpha) */
1584 uiuc_1DdataFileReader(Cmfa,
1588 aeroPitchParts -> storeCommands (*command_line);
1593 Cmfade = linetoken3;
1594 token4 >> token_value_convert1;
1595 token5 >> token_value_convert2;
1596 token6 >> token_value_convert3;
1597 convert_z = uiuc_convert(token_value_convert1);
1598 convert_x = uiuc_convert(token_value_convert2);
1599 convert_y = uiuc_convert(token_value_convert3);
1600 /* call 2D File Reader with file name (Cmfade) and
1601 conversion factors; function returns array of
1602 elevator deflections (deArray) and corresponding
1603 alpha (aArray) and delta Cm (CmArray) values and
1604 max number of terms in alpha arrays (nAlphaArray)
1605 and deflection array (nde) */
1606 uiuc_2DdataFileReader(Cmfade,
1612 aeroPitchParts -> storeCommands (*command_line);
1618 token4 >> token_value_convert1;
1619 token5 >> token_value_convert2;
1620 convert_y = uiuc_convert(token_value_convert1);
1621 convert_x = uiuc_convert(token_value_convert2);
1622 /* call 1D File Reader with file name (Cmfdf) and conversion
1623 factors; function returns array of dfs (dfArray) and
1624 corresponding Cm values (CmArray) and max number of
1625 terms in arrays (ndf) */
1626 uiuc_1DdataFileReader(Cmfdf,
1630 aeroPitchParts -> storeCommands (*command_line);
1635 Cmfadf = linetoken3;
1636 token4 >> token_value_convert1;
1637 token5 >> token_value_convert2;
1638 token6 >> token_value_convert3;
1639 convert_z = uiuc_convert(token_value_convert1);
1640 convert_x = uiuc_convert(token_value_convert2);
1641 convert_y = uiuc_convert(token_value_convert3);
1642 /* call 2D File Reader with file name (Cmfadf) and
1643 conversion factors; function returns array of
1644 flap deflections (dfArray) and corresponding
1645 alpha (aArray) and delta Cm (CmArray) values and
1646 max number of terms in alpha arrays (nAlphaArray)
1647 and deflection array (ndf) */
1648 uiuc_2DdataFileReader(Cmfadf,
1654 aeroPitchParts -> storeCommands (*command_line);
1659 uiuc_warnings_errors(2, *command_line);
1669 switch(CY_map[linetoken2])
1673 if (check_float(linetoken3))
1674 token3 >> token_value;
1676 uiuc_warnings_errors(1, *command_line);
1680 aeroSideforceParts -> storeCommands (*command_line);
1685 if (check_float(linetoken3))
1686 token3 >> token_value;
1688 uiuc_warnings_errors(1, *command_line);
1690 CY_beta = token_value;
1691 CY_beta_clean = CY_beta;
1692 aeroSideforceParts -> storeCommands (*command_line);
1697 if (check_float(linetoken3))
1698 token3 >> token_value;
1700 uiuc_warnings_errors(1, *command_line);
1704 aeroSideforceParts -> storeCommands (*command_line);
1709 if (check_float(linetoken3))
1710 token3 >> token_value;
1712 uiuc_warnings_errors(1, *command_line);
1716 aeroSideforceParts -> storeCommands (*command_line);
1721 if (check_float(linetoken3))
1722 token3 >> token_value;
1724 uiuc_warnings_errors(1, *command_line);
1726 CY_da = token_value;
1727 CY_da_clean = CY_da;
1728 aeroSideforceParts -> storeCommands (*command_line);
1733 if (check_float(linetoken3))
1734 token3 >> token_value;
1736 uiuc_warnings_errors(2, *command_line);
1738 CY_dr = token_value;
1739 CY_dr_clean = CY_dr;
1740 aeroSideforceParts -> storeCommands (*command_line);
1745 if (check_float(linetoken3))
1746 token3 >> token_value;
1748 uiuc_warnings_errors(2, *command_line);
1750 CY_dra = token_value;
1751 CY_dra_clean = CY_dra;
1752 aeroSideforceParts -> storeCommands (*command_line);
1757 if (check_float(linetoken3))
1758 token3 >> token_value;
1760 uiuc_warnings_errors(2, *command_line);
1762 CY_bdot = token_value;
1763 CY_bdot_clean = CY_bdot;
1764 aeroSideforceParts -> storeCommands (*command_line);
1769 CYfada = linetoken3;
1770 token4 >> token_value_convert1;
1771 token5 >> token_value_convert2;
1772 token6 >> token_value_convert3;
1773 convert_z = uiuc_convert(token_value_convert1);
1774 convert_x = uiuc_convert(token_value_convert2);
1775 convert_y = uiuc_convert(token_value_convert3);
1776 /* call 2D File Reader with file name (CYfada) and
1777 conversion factors; function returns array of
1778 aileron deflections (daArray) and corresponding
1779 alpha (aArray) and delta CY (CYArray) values and
1780 max number of terms in alpha arrays (nAlphaArray)
1781 and deflection array (nda) */
1782 uiuc_2DdataFileReader(CYfada,
1788 aeroSideforceParts -> storeCommands (*command_line);
1791 case CYfbetadr_flag:
1793 CYfbetadr = linetoken3;
1794 token4 >> token_value_convert1;
1795 token5 >> token_value_convert2;
1796 token6 >> token_value_convert3;
1797 convert_z = uiuc_convert(token_value_convert1);
1798 convert_x = uiuc_convert(token_value_convert2);
1799 convert_y = uiuc_convert(token_value_convert3);
1800 /* call 2D File Reader with file name (CYfbetadr) and
1801 conversion factors; function returns array of
1802 rudder deflections (drArray) and corresponding
1803 beta (betaArray) and delta CY (CYArray) values and
1804 max number of terms in beta arrays (nBetaArray)
1805 and deflection array (ndr) */
1806 uiuc_2DdataFileReader(CYfbetadr,
1807 CYfbetadr_betaArray,
1810 CYfbetadr_nBetaArray,
1812 aeroSideforceParts -> storeCommands (*command_line);
1817 uiuc_warnings_errors(2, *command_line);
1827 switch(Cl_map[linetoken2])
1831 if (check_float(linetoken3))
1832 token3 >> token_value;
1834 uiuc_warnings_errors(1, *command_line);
1838 aeroRollParts -> storeCommands (*command_line);
1843 if (check_float(linetoken3))
1844 token3 >> token_value;
1846 uiuc_warnings_errors(1, *command_line);
1848 Cl_beta = token_value;
1849 Cl_beta_clean = Cl_beta;
1850 aeroRollParts -> storeCommands (*command_line);
1855 if (check_float(linetoken3))
1856 token3 >> token_value;
1858 uiuc_warnings_errors(1, *command_line);
1862 aeroRollParts -> storeCommands (*command_line);
1867 if (check_float(linetoken3))
1868 token3 >> token_value;
1870 uiuc_warnings_errors(1, *command_line);
1874 aeroRollParts -> storeCommands (*command_line);
1879 if (check_float(linetoken3))
1880 token3 >> token_value;
1882 uiuc_warnings_errors(1, *command_line);
1884 Cl_da = token_value;
1885 Cl_da_clean = Cl_da;
1886 aeroRollParts -> storeCommands (*command_line);
1891 if (check_float(linetoken3))
1892 token3 >> token_value;
1894 uiuc_warnings_errors(1, *command_line);
1896 Cl_dr = token_value;
1897 Cl_dr_clean = Cl_dr;
1898 aeroRollParts -> storeCommands (*command_line);
1903 if (check_float(linetoken3))
1904 token3 >> token_value;
1906 uiuc_warnings_errors(1, *command_line);
1908 Cl_daa = token_value;
1909 Cl_daa_clean = Cl_daa;
1910 aeroRollParts -> storeCommands (*command_line);
1915 Clfada = linetoken3;
1916 token4 >> token_value_convert1;
1917 token5 >> token_value_convert2;
1918 token6 >> token_value_convert3;
1919 convert_z = uiuc_convert(token_value_convert1);
1920 convert_x = uiuc_convert(token_value_convert2);
1921 convert_y = uiuc_convert(token_value_convert3);
1922 /* call 2D File Reader with file name (Clfada) and
1923 conversion factors; function returns array of
1924 aileron deflections (daArray) and corresponding
1925 alpha (aArray) and delta Cl (ClArray) values and
1926 max number of terms in alpha arrays (nAlphaArray)
1927 and deflection array (nda) */
1928 uiuc_2DdataFileReader(Clfada,
1934 aeroRollParts -> storeCommands (*command_line);
1937 case Clfbetadr_flag:
1939 Clfbetadr = linetoken3;
1940 token4 >> token_value_convert1;
1941 token5 >> token_value_convert2;
1942 token6 >> token_value_convert3;
1943 convert_z = uiuc_convert(token_value_convert1);
1944 convert_x = uiuc_convert(token_value_convert2);
1945 convert_y = uiuc_convert(token_value_convert3);
1946 /* call 2D File Reader with file name (Clfbetadr) and
1947 conversion factors; function returns array of
1948 rudder deflections (drArray) and corresponding
1949 beta (betaArray) and delta Cl (ClArray) values and
1950 max number of terms in beta arrays (nBetaArray)
1951 and deflection array (ndr) */
1952 uiuc_2DdataFileReader(Clfbetadr,
1953 Clfbetadr_betaArray,
1956 Clfbetadr_nBetaArray,
1958 aeroRollParts -> storeCommands (*command_line);
1963 uiuc_warnings_errors(2, *command_line);
1973 switch(Cn_map[linetoken2])
1977 if (check_float(linetoken3))
1978 token3 >> token_value;
1980 uiuc_warnings_errors(1, *command_line);
1984 aeroYawParts -> storeCommands (*command_line);
1989 if (check_float(linetoken3))
1990 token3 >> token_value;
1992 uiuc_warnings_errors(1, *command_line);
1994 Cn_beta = token_value;
1995 Cn_beta_clean = Cn_beta;
1996 aeroYawParts -> storeCommands (*command_line);
2001 if (check_float(linetoken3))
2002 token3 >> token_value;
2004 uiuc_warnings_errors(1, *command_line);
2008 aeroYawParts -> storeCommands (*command_line);
2013 if (check_float(linetoken3))
2014 token3 >> token_value;
2016 uiuc_warnings_errors(1, *command_line);
2020 aeroYawParts -> storeCommands (*command_line);
2025 if (check_float(linetoken3))
2026 token3 >> token_value;
2028 uiuc_warnings_errors(1, *command_line);
2030 Cn_da = token_value;
2031 Cn_da_clean = Cn_da;
2032 aeroYawParts -> storeCommands (*command_line);
2037 if (check_float(linetoken3))
2038 token3 >> token_value;
2040 uiuc_warnings_errors(1, *command_line);
2042 Cn_dr = token_value;
2043 Cn_dr_clean = Cn_dr;
2044 aeroYawParts -> storeCommands (*command_line);
2049 if (check_float(linetoken3))
2050 token3 >> token_value;
2052 uiuc_warnings_errors(1, *command_line);
2056 aeroYawParts -> storeCommands (*command_line);
2061 if (check_float(linetoken3))
2062 token3 >> token_value;
2064 uiuc_warnings_errors(1, *command_line);
2066 Cn_b3 = token_value;
2067 Cn_b3_clean = Cn_b3;
2068 aeroYawParts -> storeCommands (*command_line);
2073 Cnfada = linetoken3;
2074 token4 >> token_value_convert1;
2075 token5 >> token_value_convert2;
2076 token6 >> token_value_convert3;
2077 convert_z = uiuc_convert(token_value_convert1);
2078 convert_x = uiuc_convert(token_value_convert2);
2079 convert_y = uiuc_convert(token_value_convert3);
2080 /* call 2D File Reader with file name (Cnfada) and
2081 conversion factors; function returns array of
2082 aileron deflections (daArray) and corresponding
2083 alpha (aArray) and delta Cn (CnArray) values and
2084 max number of terms in alpha arrays (nAlphaArray)
2085 and deflection array (nda) */
2086 uiuc_2DdataFileReader(Cnfada,
2092 aeroYawParts -> storeCommands (*command_line);
2095 case Cnfbetadr_flag:
2097 Cnfbetadr = linetoken3;
2098 token4 >> token_value_convert1;
2099 token5 >> token_value_convert2;
2100 token6 >> token_value_convert3;
2101 convert_z = uiuc_convert(token_value_convert1);
2102 convert_x = uiuc_convert(token_value_convert2);
2103 convert_y = uiuc_convert(token_value_convert3);
2104 /* call 2D File Reader with file name (Cnfbetadr) and
2105 conversion factors; function returns array of
2106 rudder deflections (drArray) and corresponding
2107 beta (betaArray) and delta Cn (CnArray) values and
2108 max number of terms in beta arrays (nBetaArray)
2109 and deflection array (ndr) */
2110 uiuc_2DdataFileReader(Cnfbetadr,
2111 Cnfbetadr_betaArray,
2114 Cnfbetadr_nBetaArray,
2116 aeroYawParts -> storeCommands (*command_line);
2121 uiuc_warnings_errors(2, *command_line);
2133 if (index < 0 || index >= 16)
2134 uiuc_warnings_errors(1, *command_line);
2135 switch(gear_map[linetoken2])
2139 if (check_float(linetoken3))
2140 token4 >> token_value;
2142 uiuc_warnings_errors(1, *command_line);
2143 D_gear_v[index][0] = token_value;
2144 gear_model[index] = true;
2149 if (check_float(linetoken3))
2150 token4 >> token_value;
2152 uiuc_warnings_errors(1, *command_line);
2153 D_gear_v[index][1] = token_value;
2154 gear_model[index] = true;
2159 if (check_float(linetoken3))
2160 token4 >> token_value;
2162 uiuc_warnings_errors(1, *command_line);
2163 D_gear_v[index][2] = token_value;
2164 gear_model[index] = true;
2169 if (check_float(linetoken3))
2170 token4 >> token_value;
2172 uiuc_warnings_errors(1, *command_line);
2173 cgear[index] = token_value;
2174 gear_model[index] = true;
2179 if (check_float(linetoken3))
2180 token4 >> token_value;
2182 uiuc_warnings_errors(1, *command_line);
2183 kgear[index] = token_value;
2184 gear_model[index] = true;
2189 if (check_float(linetoken3))
2190 token4 >> token_value;
2192 uiuc_warnings_errors(1, *command_line);
2193 muGear[index] = token_value;
2194 gear_model[index] = true;
2197 case strutLength_flag:
2199 if (check_float(linetoken3))
2200 token4 >> token_value;
2202 uiuc_warnings_errors(1, *command_line);
2203 strutLength[index] = token_value;
2204 gear_model[index] = true;
2209 uiuc_warnings_errors(2, *command_line);
2219 switch(ice_map[linetoken2])
2223 if (check_float(linetoken3))
2224 token3 >> token_value;
2227 uiuc_warnings_errors(1, *command_line);
2230 iceTime = token_value;
2233 case transientTime_flag:
2235 if (check_float(linetoken3))
2236 token3 >> token_value;
2238 uiuc_warnings_errors(1, *command_line);
2240 transientTime = token_value;
2243 case eta_ice_final_flag:
2245 if (check_float(linetoken3))
2246 token3 >> token_value;
2248 uiuc_warnings_errors(1, *command_line);
2250 eta_ice_final = token_value;
2253 case beta_probe_wing_flag:
2255 if (check_float(linetoken3))
2256 token3 >> token_value;
2258 uiuc_warnings_errors(1, *command_line);
2261 x_probe_wing = token_value;
2264 case beta_probe_tail_flag:
2266 if (check_float(linetoken3))
2267 token3 >> token_value;
2269 uiuc_warnings_errors(1, *command_line);
2272 x_probe_tail = token_value;
2277 if (check_float(linetoken3))
2278 token3 >> token_value;
2280 uiuc_warnings_errors(1, *command_line);
2287 if (check_float(linetoken3))
2288 token3 >> token_value;
2290 uiuc_warnings_errors(1, *command_line);
2297 if (check_float(linetoken3))
2298 token3 >> token_value;
2300 uiuc_warnings_errors(1, *command_line);
2302 kCD_a = token_value;
2307 if (check_float(linetoken3))
2308 token3 >> token_value;
2310 uiuc_warnings_errors(1, *command_line);
2312 kCD_adot = token_value;
2317 if (check_float(linetoken3))
2318 token3 >> token_value;
2320 uiuc_warnings_errors(1, *command_line);
2322 kCD_q = token_value;
2327 if (check_float(linetoken3))
2328 token3 >> token_value;
2330 uiuc_warnings_errors(1, *command_line);
2332 kCD_de = token_value;
2337 if (check_float(linetoken3))
2338 token3 >> token_value;
2340 uiuc_warnings_errors(1, *command_line);
2347 if (check_float(linetoken3))
2348 token3 >> token_value;
2350 uiuc_warnings_errors(1, *command_line);
2357 if (check_float(linetoken3))
2358 token3 >> token_value;
2360 uiuc_warnings_errors(1, *command_line);
2362 kCX_a = token_value;
2367 if (check_float(linetoken3))
2368 token3 >> token_value;
2370 uiuc_warnings_errors(1, *command_line);
2372 kCX_a2 = token_value;
2377 if (check_float(linetoken3))
2378 token3 >> token_value;
2380 uiuc_warnings_errors(1, *command_line);
2382 kCX_a3 = token_value;
2387 if (check_float(linetoken3))
2388 token3 >> token_value;
2390 uiuc_warnings_errors(1, *command_line);
2392 kCX_adot = token_value;
2397 if (check_float(linetoken3))
2398 token3 >> token_value;
2400 uiuc_warnings_errors(1, *command_line);
2402 kCX_q = token_value;
2407 if (check_float(linetoken3))
2408 token3 >> token_value;
2410 uiuc_warnings_errors(1, *command_line);
2412 kCX_de = token_value;
2417 if (check_float(linetoken3))
2418 token3 >> token_value;
2420 uiuc_warnings_errors(1, *command_line);
2422 kCX_dr = token_value;
2427 if (check_float(linetoken3))
2428 token3 >> token_value;
2430 uiuc_warnings_errors(1, *command_line);
2432 kCX_df = token_value;
2437 if (check_float(linetoken3))
2438 token3 >> token_value;
2440 uiuc_warnings_errors(1, *command_line);
2442 kCX_adf = token_value;
2447 if (check_float(linetoken3))
2448 token3 >> token_value;
2450 uiuc_warnings_errors(1, *command_line);
2457 if (check_float(linetoken3))
2458 token3 >> token_value;
2460 uiuc_warnings_errors(1, *command_line);
2462 kCL_a = token_value;
2467 if (check_float(linetoken3))
2468 token3 >> token_value;
2470 uiuc_warnings_errors(1, *command_line);
2472 kCL_adot = token_value;
2477 if (check_float(linetoken3))
2478 token3 >> token_value;
2480 uiuc_warnings_errors(1, *command_line);
2482 kCL_q = token_value;
2487 if (check_float(linetoken3))
2488 token3 >> token_value;
2490 uiuc_warnings_errors(1, *command_line);
2492 kCL_de = token_value;
2497 if (check_float(linetoken3))
2498 token3 >> token_value;
2500 uiuc_warnings_errors(1, *command_line);
2507 if (check_float(linetoken3))
2508 token3 >> token_value;
2510 uiuc_warnings_errors(1, *command_line);
2512 kCZ_a = token_value;
2517 if (check_float(linetoken3))
2518 token3 >> token_value;
2520 uiuc_warnings_errors(1, *command_line);
2522 kCZ_a2 = token_value;
2527 if (check_float(linetoken3))
2528 token3 >> token_value;
2530 uiuc_warnings_errors(1, *command_line);
2532 kCZ_a3 = token_value;
2537 if (check_float(linetoken3))
2538 token3 >> token_value;
2540 uiuc_warnings_errors(1, *command_line);
2542 kCZ_adot = token_value;
2547 if (check_float(linetoken3))
2548 token3 >> token_value;
2550 uiuc_warnings_errors(1, *command_line);
2552 kCZ_q = token_value;
2557 if (check_float(linetoken3))
2558 token3 >> token_value;
2560 uiuc_warnings_errors(1, *command_line);
2562 kCZ_de = token_value;
2567 if (check_float(linetoken3))
2568 token3 >> token_value;
2570 uiuc_warnings_errors(1, *command_line);
2572 kCZ_deb2 = token_value;
2577 if (check_float(linetoken3))
2578 token3 >> token_value;
2580 uiuc_warnings_errors(1, *command_line);
2582 kCZ_df = token_value;
2587 if (check_float(linetoken3))
2588 token3 >> token_value;
2590 uiuc_warnings_errors(1, *command_line);
2592 kCZ_adf = token_value;
2597 if (check_float(linetoken3))
2598 token3 >> token_value;
2600 uiuc_warnings_errors(1, *command_line);
2607 if (check_float(linetoken3))
2608 token3 >> token_value;
2610 uiuc_warnings_errors(1, *command_line);
2612 kCm_a = token_value;
2617 if (check_float(linetoken3))
2618 token3 >> token_value;
2620 uiuc_warnings_errors(1, *command_line);
2622 kCm_a2 = token_value;
2627 if (check_float(linetoken3))
2628 token3 >> token_value;
2630 uiuc_warnings_errors(1, *command_line);
2632 kCm_adot = token_value;
2637 if (check_float(linetoken3))
2638 token3 >> token_value;
2640 uiuc_warnings_errors(1, *command_line);
2642 kCm_q = token_value;
2647 if (check_float(linetoken3))
2648 token3 >> token_value;
2650 uiuc_warnings_errors(1, *command_line);
2652 kCm_de = token_value;
2657 if (check_float(linetoken3))
2658 token3 >> token_value;
2660 uiuc_warnings_errors(1, *command_line);
2662 kCm_b2 = token_value;
2667 if (check_float(linetoken3))
2668 token3 >> token_value;
2670 uiuc_warnings_errors(1, *command_line);
2672 kCm_r = token_value;
2677 if (check_float(linetoken3))
2678 token3 >> token_value;
2680 uiuc_warnings_errors(1, *command_line);
2682 kCm_df = token_value;
2687 if (check_float(linetoken3))
2688 token3 >> token_value;
2690 uiuc_warnings_errors(1, *command_line);
2697 if (check_float(linetoken3))
2698 token3 >> token_value;
2700 uiuc_warnings_errors(1, *command_line);
2702 kCY_beta = token_value;
2707 if (check_float(linetoken3))
2708 token3 >> token_value;
2710 uiuc_warnings_errors(1, *command_line);
2712 kCY_p = token_value;
2717 if (check_float(linetoken3))
2718 token3 >> token_value;
2720 uiuc_warnings_errors(1, *command_line);
2722 kCY_r = token_value;
2727 if (check_float(linetoken3))
2728 token3 >> token_value;
2730 uiuc_warnings_errors(1, *command_line);
2732 kCY_da = token_value;
2737 if (check_float(linetoken3))
2738 token3 >> token_value;
2740 uiuc_warnings_errors(1, *command_line);
2742 kCY_dr = token_value;
2747 if (check_float(linetoken3))
2748 token3 >> token_value;
2750 uiuc_warnings_errors(1, *command_line);
2752 kCY_dra = token_value;
2757 if (check_float(linetoken3))
2758 token3 >> token_value;
2760 uiuc_warnings_errors(1, *command_line);
2762 kCY_bdot = token_value;
2767 if (check_float(linetoken3))
2768 token3 >> token_value;
2770 uiuc_warnings_errors(1, *command_line);
2777 if (check_float(linetoken3))
2778 token3 >> token_value;
2780 uiuc_warnings_errors(1, *command_line);
2782 kCl_beta = token_value;
2787 if (check_float(linetoken3))
2788 token3 >> token_value;
2790 uiuc_warnings_errors(1, *command_line);
2792 kCl_p = token_value;
2797 if (check_float(linetoken3))
2798 token3 >> token_value;
2800 uiuc_warnings_errors(1, *command_line);
2802 kCl_r = token_value;
2807 if (check_float(linetoken3))
2808 token3 >> token_value;
2810 uiuc_warnings_errors(1, *command_line);
2812 kCl_da = token_value;
2817 if (check_float(linetoken3))
2818 token3 >> token_value;
2820 uiuc_warnings_errors(1, *command_line);
2822 kCl_dr = token_value;
2827 if (check_float(linetoken3))
2828 token3 >> token_value;
2830 uiuc_warnings_errors(1, *command_line);
2832 kCl_daa = token_value;
2837 if (check_float(linetoken3))
2838 token3 >> token_value;
2840 uiuc_warnings_errors(1, *command_line);
2847 if (check_float(linetoken3))
2848 token3 >> token_value;
2850 uiuc_warnings_errors(1, *command_line);
2852 kCn_beta = token_value;
2857 if (check_float(linetoken3))
2858 token3 >> token_value;
2860 uiuc_warnings_errors(1, *command_line);
2862 kCn_p = token_value;
2867 if (check_float(linetoken3))
2868 token3 >> token_value;
2870 uiuc_warnings_errors(1, *command_line);
2872 kCn_r = token_value;
2877 if (check_float(linetoken3))
2878 token3 >> token_value;
2880 uiuc_warnings_errors(1, *command_line);
2882 kCn_da = token_value;
2887 if (check_float(linetoken3))
2888 token3 >> token_value;
2890 uiuc_warnings_errors(1, *command_line);
2892 kCn_dr = token_value;
2897 if (check_float(linetoken3))
2898 token3 >> token_value;
2900 uiuc_warnings_errors(1, *command_line);
2902 kCn_q = token_value;
2907 if (check_float(linetoken3))
2908 token3 >> token_value;
2910 uiuc_warnings_errors(1, *command_line);
2912 kCn_b3 = token_value;
2917 uiuc_warnings_errors(2, *command_line);
2927 static int fout_flag=0;
2931 fout.open("uiuc_record.dat");
2933 switch(record_map[linetoken2])
2935 /************************* Time ************************/
2936 case Simtime_record:
2938 recordParts -> storeCommands (*command_line);
2943 recordParts -> storeCommands (*command_line);
2947 /************************* Mass ************************/
2950 recordParts -> storeCommands (*command_line);
2955 recordParts -> storeCommands (*command_line);
2960 recordParts -> storeCommands (*command_line);
2965 recordParts -> storeCommands (*command_line);
2970 recordParts -> storeCommands (*command_line);
2975 recordParts -> storeCommands (*command_line);
2979 /*********************** Geometry **********************/
2980 case Dx_pilot_record:
2982 recordParts -> storeCommands (*command_line);
2985 case Dy_pilot_record:
2987 recordParts -> storeCommands (*command_line);
2990 case Dz_pilot_record:
2992 recordParts -> storeCommands (*command_line);
2997 recordParts -> storeCommands (*command_line);
3002 recordParts -> storeCommands (*command_line);
3007 recordParts -> storeCommands (*command_line);
3011 /********************** Positions **********************/
3012 case Lat_geocentric_record:
3014 recordParts -> storeCommands (*command_line);
3017 case Lon_geocentric_record:
3019 recordParts -> storeCommands (*command_line);
3022 case Radius_to_vehicle_record:
3024 recordParts -> storeCommands (*command_line);
3027 case Latitude_record:
3029 recordParts -> storeCommands (*command_line);
3032 case Longitude_record:
3034 recordParts -> storeCommands (*command_line);
3037 case Altitude_record:
3039 recordParts -> storeCommands (*command_line);
3044 recordParts -> storeCommands (*command_line);
3049 recordParts -> storeCommands (*command_line);
3054 recordParts -> storeCommands (*command_line);
3058 /******************** Accelerations ********************/
3059 case V_dot_north_record:
3061 recordParts -> storeCommands (*command_line);
3064 case V_dot_east_record:
3066 recordParts -> storeCommands (*command_line);
3069 case V_dot_down_record:
3071 recordParts -> storeCommands (*command_line);
3074 case U_dot_body_record:
3076 recordParts -> storeCommands (*command_line);
3079 case V_dot_body_record:
3081 recordParts -> storeCommands (*command_line);
3084 case W_dot_body_record:
3086 recordParts -> storeCommands (*command_line);
3089 case A_X_pilot_record:
3091 recordParts -> storeCommands (*command_line);
3094 case A_Y_pilot_record:
3096 recordParts -> storeCommands (*command_line);
3099 case A_Z_pilot_record:
3101 recordParts -> storeCommands (*command_line);
3106 recordParts -> storeCommands (*command_line);
3111 recordParts -> storeCommands (*command_line);
3116 recordParts -> storeCommands (*command_line);
3119 case N_X_pilot_record:
3121 recordParts -> storeCommands (*command_line);
3124 case N_Y_pilot_record:
3126 recordParts -> storeCommands (*command_line);
3129 case N_Z_pilot_record:
3131 recordParts -> storeCommands (*command_line);
3136 recordParts -> storeCommands (*command_line);
3141 recordParts -> storeCommands (*command_line);
3146 recordParts -> storeCommands (*command_line);
3149 case P_dot_body_record:
3151 recordParts -> storeCommands (*command_line);
3154 case Q_dot_body_record:
3156 recordParts -> storeCommands (*command_line);
3159 case R_dot_body_record:
3161 recordParts -> storeCommands (*command_line);
3165 /********************** Velocities *********************/
3166 case V_north_record:
3168 recordParts -> storeCommands (*command_line);
3173 recordParts -> storeCommands (*command_line);
3178 recordParts -> storeCommands (*command_line);
3181 case V_north_rel_ground_record:
3183 recordParts -> storeCommands (*command_line);
3186 case V_east_rel_ground_record:
3188 recordParts -> storeCommands (*command_line);
3191 case V_down_rel_ground_record:
3193 recordParts -> storeCommands (*command_line);
3196 case V_north_airmass_record:
3198 recordParts -> storeCommands (*command_line);
3201 case V_east_airmass_record:
3203 recordParts -> storeCommands (*command_line);
3206 case V_down_airmass_record:
3208 recordParts -> storeCommands (*command_line);
3211 case V_north_rel_airmass_record:
3213 recordParts -> storeCommands (*command_line);
3216 case V_east_rel_airmass_record:
3218 recordParts -> storeCommands (*command_line);
3221 case V_down_rel_airmass_record:
3223 recordParts -> storeCommands (*command_line);
3228 recordParts -> storeCommands (*command_line);
3233 recordParts -> storeCommands (*command_line);
3238 recordParts -> storeCommands (*command_line);
3243 recordParts -> storeCommands (*command_line);
3248 recordParts -> storeCommands (*command_line);
3253 recordParts -> storeCommands (*command_line);
3256 case V_rel_wind_record:
3258 recordParts -> storeCommands (*command_line);
3261 case V_true_kts_record:
3263 recordParts -> storeCommands (*command_line);
3266 case V_rel_ground_record:
3268 recordParts -> storeCommands (*command_line);
3271 case V_inertial_record:
3273 recordParts -> storeCommands (*command_line);
3276 case V_ground_speed_record:
3278 recordParts -> storeCommands (*command_line);
3281 case V_equiv_record:
3283 recordParts -> storeCommands (*command_line);
3286 case V_equiv_kts_record:
3288 recordParts -> storeCommands (*command_line);
3291 case V_calibrated_record:
3293 recordParts -> storeCommands (*command_line);
3296 case V_calibrated_kts_record:
3298 recordParts -> storeCommands (*command_line);
3301 case P_local_record:
3303 recordParts -> storeCommands (*command_line);
3306 case Q_local_record:
3308 recordParts -> storeCommands (*command_line);
3311 case R_local_record:
3313 recordParts -> storeCommands (*command_line);
3318 recordParts -> storeCommands (*command_line);
3323 recordParts -> storeCommands (*command_line);
3328 recordParts -> storeCommands (*command_line);
3331 case P_total_record:
3333 recordParts -> storeCommands (*command_line);
3336 case Q_total_record:
3338 recordParts -> storeCommands (*command_line);
3341 case R_total_record:
3343 recordParts -> storeCommands (*command_line);
3346 case Phi_dot_record:
3348 recordParts -> storeCommands (*command_line);
3351 case Theta_dot_record:
3353 recordParts -> storeCommands (*command_line);
3356 case Psi_dot_record:
3358 recordParts -> storeCommands (*command_line);
3361 case Latitude_dot_record:
3363 recordParts -> storeCommands (*command_line);
3366 case Longitude_dot_record:
3368 recordParts -> storeCommands (*command_line);
3371 case Radius_dot_record:
3373 recordParts -> storeCommands (*command_line);
3377 /************************ Angles ***********************/
3380 recordParts -> storeCommands (*command_line);
3383 case Alpha_deg_record:
3385 recordParts -> storeCommands (*command_line);
3388 case Alpha_dot_record:
3390 recordParts -> storeCommands (*command_line);
3393 case Alpha_dot_deg_record:
3395 recordParts -> storeCommands (*command_line);
3400 recordParts -> storeCommands (*command_line);
3403 case Beta_deg_record:
3405 recordParts -> storeCommands (*command_line);
3408 case Beta_dot_record:
3410 recordParts -> storeCommands (*command_line);
3413 case Beta_dot_deg_record:
3415 recordParts -> storeCommands (*command_line);
3418 case Gamma_vert_record:
3420 recordParts -> storeCommands (*command_line);
3423 case Gamma_vert_deg_record:
3425 recordParts -> storeCommands (*command_line);
3428 case Gamma_horiz_record:
3430 recordParts -> storeCommands (*command_line);
3433 case Gamma_horiz_deg_record:
3435 recordParts -> storeCommands (*command_line);
3439 /**************** Atmospheric Properties ***************/
3440 case Density_record:
3442 recordParts -> storeCommands (*command_line);
3445 case V_sound_record:
3447 recordParts -> storeCommands (*command_line);
3450 case Mach_number_record:
3452 recordParts -> storeCommands (*command_line);
3455 case Static_pressure_record:
3457 recordParts -> storeCommands (*command_line);
3460 case Total_pressure_record:
3462 recordParts -> storeCommands (*command_line);
3465 case Impact_pressure_record:
3467 recordParts -> storeCommands (*command_line);
3470 case Dynamic_pressure_record:
3472 recordParts -> storeCommands (*command_line);
3475 case Static_temperature_record:
3477 recordParts -> storeCommands (*command_line);
3480 case Total_temperature_record:
3482 recordParts -> storeCommands (*command_line);
3486 /******************** Earth Properties *****************/
3487 case Gravity_record:
3489 recordParts -> storeCommands (*command_line);
3492 case Sea_level_radius_record:
3494 recordParts -> storeCommands (*command_line);
3497 case Earth_position_angle_record:
3499 recordParts -> storeCommands (*command_line);
3502 case Runway_altitude_record:
3504 recordParts -> storeCommands (*command_line);
3507 case Runway_latitude_record:
3509 recordParts -> storeCommands (*command_line);
3512 case Runway_longitude_record:
3514 recordParts -> storeCommands (*command_line);
3517 case Runway_heading_record:
3519 recordParts -> storeCommands (*command_line);
3522 case Radius_to_rwy_record:
3524 recordParts -> storeCommands (*command_line);
3527 case D_pilot_north_of_rwy_record:
3529 recordParts -> storeCommands (*command_line);
3532 case D_pilot_east_of_rwy_record:
3534 recordParts -> storeCommands (*command_line);
3537 case D_pilot_above_rwy_record:
3539 recordParts -> storeCommands (*command_line);
3542 case X_pilot_rwy_record:
3544 recordParts -> storeCommands (*command_line);
3547 case Y_pilot_rwy_record:
3549 recordParts -> storeCommands (*command_line);
3552 case H_pilot_rwy_record:
3554 recordParts -> storeCommands (*command_line);
3557 case D_cg_north_of_rwy_record:
3559 recordParts -> storeCommands (*command_line);
3562 case D_cg_east_of_rwy_record:
3564 recordParts -> storeCommands (*command_line);
3567 case D_cg_above_rwy_record:
3569 recordParts -> storeCommands (*command_line);
3572 case X_cg_rwy_record:
3574 recordParts -> storeCommands (*command_line);
3577 case Y_cg_rwy_record:
3579 recordParts -> storeCommands (*command_line);
3582 case H_cg_rwy_record:
3584 recordParts -> storeCommands (*command_line);
3588 /********************* Engine Inputs *******************/
3589 case Throttle_pct_record:
3591 recordParts -> storeCommands (*command_line);
3594 case Throttle_3_record:
3596 recordParts -> storeCommands (*command_line);
3600 /******************** Control Inputs *******************/
3601 case Long_control_record:
3603 recordParts -> storeCommands (*command_line);
3606 case Long_trim_record:
3608 recordParts -> storeCommands (*command_line);
3611 case Long_trim_deg_record:
3613 recordParts -> storeCommands (*command_line);
3616 case elevator_record:
3618 recordParts -> storeCommands (*command_line);
3621 case elevator_deg_record:
3623 recordParts -> storeCommands (*command_line);
3626 case Lat_control_record:
3628 recordParts -> storeCommands (*command_line);
3631 case aileron_record:
3633 recordParts -> storeCommands (*command_line);
3636 case aileron_deg_record:
3638 recordParts -> storeCommands (*command_line);
3641 case Rudder_pedal_record:
3643 recordParts -> storeCommands (*command_line);
3648 recordParts -> storeCommands (*command_line);
3651 case rudder_deg_record:
3653 recordParts -> storeCommands (*command_line);
3656 case Flap_handle_record:
3658 recordParts -> storeCommands (*command_line);
3663 recordParts -> storeCommands (*command_line);
3666 case flap_deg_record:
3668 recordParts -> storeCommands (*command_line);
3672 /****************** Aero Coefficients ******************/
3675 recordParts -> storeCommands (*command_line);
3680 recordParts -> storeCommands (*command_line);
3683 case CDfadeI_record:
3685 recordParts -> storeCommands (*command_line);
3690 recordParts -> storeCommands (*command_line);
3693 case CDfadfI_record:
3695 recordParts -> storeCommands (*command_line);
3700 recordParts -> storeCommands (*command_line);
3705 recordParts -> storeCommands (*command_line);
3710 recordParts -> storeCommands (*command_line);
3713 case CLfadeI_record:
3715 recordParts -> storeCommands (*command_line);
3720 recordParts -> storeCommands (*command_line);
3723 case CLfadfI_record:
3725 recordParts -> storeCommands (*command_line);
3730 recordParts -> storeCommands (*command_line);
3735 recordParts -> storeCommands (*command_line);
3740 recordParts -> storeCommands (*command_line);
3743 case CmfadeI_record:
3745 recordParts -> storeCommands (*command_line);
3750 recordParts -> storeCommands (*command_line);
3753 case CmfadfI_record:
3755 recordParts -> storeCommands (*command_line);
3760 recordParts -> storeCommands (*command_line);
3763 case CYfadaI_record:
3765 recordParts -> storeCommands (*command_line);
3768 case CYfbetadrI_record:
3770 recordParts -> storeCommands (*command_line);
3775 recordParts -> storeCommands (*command_line);
3778 case ClfadaI_record:
3780 recordParts -> storeCommands (*command_line);
3783 case ClfbetadrI_record:
3785 recordParts -> storeCommands (*command_line);
3790 recordParts -> storeCommands (*command_line);
3793 case CnfadaI_record:
3795 recordParts -> storeCommands (*command_line);
3798 case CnfbetadrI_record:
3800 recordParts -> storeCommands (*command_line);
3804 /******************** Ice Detection ********************/
3805 case CLclean_wing_record:
3807 recordParts -> storeCommands (*command_line);
3810 case CLiced_wing_record:
3812 recordParts -> storeCommands (*command_line);
3815 case CLclean_tail_record:
3817 recordParts -> storeCommands (*command_line);
3820 case CLiced_tail_record:
3822 recordParts -> storeCommands (*command_line);
3825 case Lift_clean_wing_record:
3827 recordParts -> storeCommands (*command_line);
3830 case Lift_iced_wing_record:
3832 recordParts -> storeCommands (*command_line);
3835 case Lift_clean_tail_record:
3837 recordParts -> storeCommands (*command_line);
3840 case Lift_iced_tail_record:
3842 recordParts -> storeCommands (*command_line);
3845 case Gamma_clean_wing_record:
3847 recordParts -> storeCommands (*command_line);
3850 case Gamma_iced_wing_record:
3852 recordParts -> storeCommands (*command_line);
3855 case Gamma_clean_tail_record:
3857 recordParts -> storeCommands (*command_line);
3860 case Gamma_iced_tail_record:
3862 recordParts -> storeCommands (*command_line);
3865 case w_clean_wing_record:
3867 recordParts -> storeCommands (*command_line);
3870 case w_iced_wing_record:
3872 recordParts -> storeCommands (*command_line);
3875 case w_clean_tail_record:
3877 recordParts -> storeCommands (*command_line);
3880 case w_iced_tail_record:
3882 recordParts -> storeCommands (*command_line);
3885 case V_total_clean_wing_record:
3887 recordParts -> storeCommands (*command_line);
3890 case V_total_iced_wing_record:
3892 recordParts -> storeCommands (*command_line);
3895 case V_total_clean_tail_record:
3897 recordParts -> storeCommands (*command_line);
3900 case V_total_iced_tail_record:
3902 recordParts -> storeCommands (*command_line);
3905 case beta_flow_clean_wing_record:
3907 recordParts -> storeCommands (*command_line);
3910 case beta_flow_clean_wing_deg_record:
3912 recordParts -> storeCommands (*command_line);
3915 case beta_flow_iced_wing_record:
3917 recordParts -> storeCommands (*command_line);
3920 case beta_flow_iced_wing_deg_record:
3922 recordParts -> storeCommands (*command_line);
3925 case beta_flow_clean_tail_record:
3927 recordParts -> storeCommands (*command_line);
3930 case beta_flow_clean_tail_deg_record:
3932 recordParts -> storeCommands (*command_line);
3935 case beta_flow_iced_tail_record:
3937 recordParts -> storeCommands (*command_line);
3940 case beta_flow_iced_tail_deg_record:
3942 recordParts -> storeCommands (*command_line);
3945 case Dbeta_flow_wing_record:
3947 recordParts -> storeCommands (*command_line);
3950 case Dbeta_flow_wing_deg_record:
3952 recordParts -> storeCommands (*command_line);
3955 case Dbeta_flow_tail_record:
3957 recordParts -> storeCommands (*command_line);
3960 case Dbeta_flow_tail_deg_record:
3962 recordParts -> storeCommands (*command_line);
3965 case pct_beta_flow_wing_record:
3967 recordParts -> storeCommands (*command_line);
3970 case pct_beta_flow_tail_record:
3972 recordParts -> storeCommands (*command_line);
3976 /************************ Forces ***********************/
3977 case F_X_wind_record:
3979 recordParts -> storeCommands (*command_line);
3982 case F_Y_wind_record:
3984 recordParts -> storeCommands (*command_line);
3987 case F_Z_wind_record:
3989 recordParts -> storeCommands (*command_line);
3992 case F_X_aero_record:
3994 recordParts -> storeCommands (*command_line);
3997 case F_Y_aero_record:
3999 recordParts -> storeCommands (*command_line);
4002 case F_Z_aero_record:
4004 recordParts -> storeCommands (*command_line);
4007 case F_X_engine_record:
4009 recordParts -> storeCommands (*command_line);
4012 case F_Y_engine_record:
4014 recordParts -> storeCommands (*command_line);
4017 case F_Z_engine_record:
4019 recordParts -> storeCommands (*command_line);
4022 case F_X_gear_record:
4024 recordParts -> storeCommands (*command_line);
4027 case F_Y_gear_record:
4029 recordParts -> storeCommands (*command_line);
4032 case F_Z_gear_record:
4034 recordParts -> storeCommands (*command_line);
4039 recordParts -> storeCommands (*command_line);
4044 recordParts -> storeCommands (*command_line);
4049 recordParts -> storeCommands (*command_line);
4052 case F_north_record:
4054 recordParts -> storeCommands (*command_line);
4059 recordParts -> storeCommands (*command_line);
4064 recordParts -> storeCommands (*command_line);
4068 /*********************** Moments ***********************/
4069 case M_l_aero_record:
4071 recordParts -> storeCommands (*command_line);
4074 case M_m_aero_record:
4076 recordParts -> storeCommands (*command_line);
4079 case M_n_aero_record:
4081 recordParts -> storeCommands (*command_line);
4084 case M_l_engine_record:
4086 recordParts -> storeCommands (*command_line);
4089 case M_m_engine_record:
4091 recordParts -> storeCommands (*command_line);
4094 case M_n_engine_record:
4096 recordParts -> storeCommands (*command_line);
4099 case M_l_gear_record:
4101 recordParts -> storeCommands (*command_line);
4104 case M_m_gear_record:
4106 recordParts -> storeCommands (*command_line);
4109 case M_n_gear_record:
4111 recordParts -> storeCommands (*command_line);
4116 recordParts -> storeCommands (*command_line);
4121 recordParts -> storeCommands (*command_line);
4126 recordParts -> storeCommands (*command_line);
4131 uiuc_warnings_errors(2, *command_line);
4141 switch(misc_map[linetoken2])
4143 case simpleHingeMomentCoef_flag:
4145 if (check_float(linetoken3))
4146 token3 >> token_value;
4148 uiuc_warnings_errors(1, *command_line);
4150 simpleHingeMomentCoef = token_value;
4153 case dfTimefdf_flag:
4155 dfTimefdf = linetoken3;
4156 /* call 1D File Reader with file name (dfTimefdf);
4157 function returns array of dfs (dfArray) and
4158 corresponding time values (TimeArray) and max
4159 number of terms in arrays (ndf) */
4160 uiuc_1DdataFileReader(dfTimefdf,
4162 dfTimefdf_TimeArray,
4168 uiuc_warnings_errors(2, *command_line);
4178 if (linetoken1=="*")
4180 uiuc_warnings_errors(2, *command_line);
4184 } // end keyword map