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.
45 06/18/2001 (RD) Added Alpha, Beta, U_body,
46 V_body, and W_body to init map. Added
47 aileron_input, rudder_input, pilot_elev_no,
48 pilot_ail_no, and pilot_rud_no to
49 controlSurface map. Added Throttle_pct_input
50 to engine map. Added CZfa to CL map.
51 07/05/2001 (RD) Changed pilot_elev_no = true to pilot_
52 elev_no_check=false. This is to allow pilot
53 to fly aircraft after input files have been
55 08/27/2001 (RD) Added xxx_init_true and xxx_init for
56 P_body, Q_body, R_body, Phi, Theta, Psi,
57 U_body, V_body, and W_body to help in
58 starting the A/C at an initial condition.
59 10/25/2001 (RD) Added new variables needed for the non-
60 linear Twin Otter model at zero flaps
62 11/12/2001 (RD) Added new variables needed for the non-
63 linear Twin Otter model with flaps
64 (Cxfxxf). Removed zero flap variables.
65 Added minmaxfind() which is needed for non-
67 02/13/2002 (RD) Added variables so linear aero model
68 values can be recorded
69 02/18/2002 (RD) Added variables necessary to use the
70 uiuc_3Dinterp_quick() function. Takes
71 advantage of data in a "nice" form (data
72 that are in a rectangular matrix).
73 03/13/2002 (RD) Added aircraft_directory so full path
74 is no longer needed in the aircraft.dat file
75 04/02/2002 (RD) Removed minmaxfind() since it was no
76 longer needed. Added d_2_to_3(),
77 d_1_to_2(), and i_1_to_2() so uiuc_menu()
78 will compile with certain compilers.
80 ----------------------------------------------------------------------
82 AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
83 Jeff Scott <jscott@mail.com>
84 Robert Deters <rdeters@uiuc.edu>
85 Michael Selig <m-selig@uiuc.edu>
86 David Megginson <david@megginson.com>
88 ----------------------------------------------------------------------
92 ----------------------------------------------------------------------
96 ----------------------------------------------------------------------
100 ----------------------------------------------------------------------
102 CALLED BY: uiuc_wrapper.cpp
104 ----------------------------------------------------------------------
106 CALLS TO: aircraft.dat
107 tabulated data files (if needed)
109 ----------------------------------------------------------------------
111 COPYRIGHT: (C) 2000 by Michael Selig
113 This program is free software; you can redistribute it and/or
114 modify it under the terms of the GNU General Public License
115 as published by the Free Software Foundation.
117 This program is distributed in the hope that it will be useful,
118 but WITHOUT ANY WARRANTY; without even the implied warranty of
119 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120 GNU General Public License for more details.
122 You should have received a copy of the GNU General Public License
123 along with this program; if not, write to the Free Software
124 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
125 USA or view http://www.gnu.org/copyleft/gpl.html.
127 **********************************************************************/
129 #include <simgear/compiler.h>
131 #if defined( __MWERKS__ )
132 // -dw- optimizer chokes (big-time) trying to optimize humongous
133 // loop/switch statements
134 #pragma optimization_level 0
139 #include STL_IOSTREAM
141 #include "uiuc_menu.h"
143 #if !defined (SG_HAVE_NATIVE_SGI_COMPILERS)
153 bool check_float(string &token)
156 istrstream stream(token.c_str());
157 return (stream >> value);
160 //void minmaxfind( bool tarray[30], int &tmin, int &tmax)
180 void d_2_to_3( double array2D[100][100], double array3D[][100][100], int index3D)
182 for (register int i=0; i<=99; i++)
184 for (register int j=1; j<=99; j++)
186 array3D[index3D][i][j]=array2D[i][j];
191 void d_1_to_2( double array1D[100], double array2D[][100], int index2D)
193 for (register int i=0; i<=99; i++)
195 array2D[index2D][i]=array1D[i];
199 void d_1_to_1( double array1[100], double array2[100] )
201 memcpy( array2, array1, sizeof(array2) );
204 void i_1_to_2( int array1D[100], int array2D[][100], int index2D)
206 for (register int i=0; i<=99; i++)
208 array2D[index2D][i]=array1D[i];
212 void uiuc_menu( string aircraft_name )
214 string aircraft_directory;
217 int token_value_recordRate;
218 int token_value_convert1, token_value_convert2, token_value_convert3;
230 double datafile_xArray[100][100], datafile_yArray[100];
231 double datafile_zArray[100][100];
232 int datafile_nxArray[100], datafile_ny;
234 bool CXfabetaf_first = true;
235 bool CXfadef_first = true;
236 bool CXfaqf_first = true;
237 bool CZfabetaf_first = true;
238 bool CZfadef_first = true;
239 bool CZfaqf_first = true;
240 bool Cmfabetaf_first = true;
241 bool Cmfadef_first = true;
242 bool Cmfaqf_first = true;
243 bool CYfabetaf_first = true;
244 bool CYfadaf_first = true;
245 bool CYfadrf_first = true;
246 bool CYfapf_first = true;
247 bool CYfarf_first = true;
248 bool Clfabetaf_first = true;
249 bool Clfadaf_first = true;
250 bool Clfadrf_first = true;
251 bool Clfapf_first = true;
252 bool Clfarf_first = true;
253 bool Cnfabetaf_first = true;
254 bool Cnfadaf_first = true;
255 bool Cnfadrf_first = true;
256 bool Cnfapf_first = true;
257 bool Cnfarf_first = true;
259 /* the following default setting should eventually be moved to a default or uiuc_init routine */
261 recordRate = 1; /* record every time step, default */
262 recordStartTime = 0; /* record from beginning of simulation */
264 /* set speed at which dynamic pressure terms will be accounted for,
265 since if velocity is too small, coefficients will go to infinity */
266 dyn_on_speed = 33; /* 20 kts, default */
270 /* Read the file and get the list of commands */
271 airplane = new ParseFile(aircraft_name); /* struct that includes all lines of the input file */
272 command_list = airplane -> getCommands();
273 /* structs to include all parts included in the input file for specific keyword groups */
274 initParts = new ParseFile();
275 geometryParts = new ParseFile();
276 massParts = new ParseFile();
277 engineParts = new ParseFile();
278 aeroDragParts = new ParseFile();
279 aeroLiftParts = new ParseFile();
280 aeroPitchParts = new ParseFile();
281 aeroSideforceParts = new ParseFile();
282 aeroRollParts = new ParseFile();
283 aeroYawParts = new ParseFile();
284 gearParts = new ParseFile();
285 recordParts = new ParseFile();
287 if (command_list.begin() == command_list.end())
289 cerr << "UIUC ERROR: File " << aircraft_name <<" does not exist" << endl;
293 //construct aircraft-directory
294 aircraft_directory = aircraft_name;
295 int index_aircraft_dat = aircraft_directory.find("aircraft.dat");
296 aircraft_directory.erase(index_aircraft_dat,12);
298 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
300 cout << *command_line << endl;
302 linetoken1 = airplane -> getToken (*command_line, 1);
303 linetoken2 = airplane -> getToken (*command_line, 2);
304 linetoken3 = airplane -> getToken (*command_line, 3);
305 linetoken4 = airplane -> getToken (*command_line, 4);
306 linetoken5 = airplane -> getToken (*command_line, 5);
307 linetoken6 = airplane -> getToken (*command_line, 6);
308 linetoken7 = airplane -> getToken (*command_line, 7);
309 linetoken8 = airplane -> getToken (*command_line, 8);
310 linetoken9 = airplane -> getToken (*command_line, 9);
312 istrstream token3(linetoken3.c_str());
313 istrstream token4(linetoken4.c_str());
314 istrstream token5(linetoken5.c_str());
315 istrstream token6(linetoken6.c_str());
316 istrstream token7(linetoken7.c_str());
317 istrstream token8(linetoken8.c_str());
318 istrstream token9(linetoken9.c_str());
320 switch (Keyword_map[linetoken1])
324 switch(init_map[linetoken2])
328 if (check_float(linetoken3))
329 token3 >> token_value;
331 uiuc_warnings_errors(1, *command_line);
333 Dx_pilot = token_value;
334 initParts -> storeCommands (*command_line);
339 if (check_float(linetoken3))
340 token3 >> token_value;
342 uiuc_warnings_errors(1, *command_line);
344 Dy_pilot = token_value;
345 initParts -> storeCommands (*command_line);
350 if (check_float(linetoken3))
351 token3 >> token_value;
353 uiuc_warnings_errors(1, *command_line);
355 Dz_pilot = token_value;
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);
378 initParts -> storeCommands (*command_line);
383 if (check_float(linetoken3))
384 token3 >> token_value;
386 uiuc_warnings_errors(1, *command_line);
389 initParts -> storeCommands (*command_line);
394 if (check_float(linetoken3))
395 token3 >> token_value;
397 uiuc_warnings_errors(1, *command_line);
399 Altitude = token_value;
400 initParts -> storeCommands (*command_line);
405 if (check_float(linetoken3))
406 token3 >> token_value;
408 uiuc_warnings_errors(1, *command_line);
410 V_north = token_value;
411 initParts -> storeCommands (*command_line);
416 initParts -> storeCommands (*command_line);
417 if (check_float(linetoken3))
418 token3 >> token_value;
420 uiuc_warnings_errors(1, *command_line);
422 V_east = token_value;
427 if (check_float(linetoken3))
428 token3 >> token_value;
430 uiuc_warnings_errors(1, *command_line);
432 V_down = token_value;
433 initParts -> storeCommands (*command_line);
438 if (check_float(linetoken3))
439 token3 >> token_value;
441 uiuc_warnings_errors(1, *command_line);
443 P_body_init_true = true;
444 P_body_init = token_value;
445 initParts -> storeCommands (*command_line);
450 if (check_float(linetoken3))
451 token3 >> token_value;
453 uiuc_warnings_errors(1, *command_line);
455 Q_body_init_true = true;
456 Q_body_init = token_value;
457 initParts -> storeCommands (*command_line);
462 if (check_float(linetoken3))
463 token3 >> token_value;
465 uiuc_warnings_errors(1, *command_line);
467 R_body_init_true = true;
468 R_body_init = token_value;
469 initParts -> storeCommands (*command_line);
474 if (check_float(linetoken3))
475 token3 >> token_value;
477 uiuc_warnings_errors(1, *command_line);
479 Phi_init_true = true;
480 Phi_init = token_value;
481 initParts -> storeCommands (*command_line);
486 if (check_float(linetoken3))
487 token3 >> token_value;
489 uiuc_warnings_errors(1, *command_line);
491 Theta_init_true = true;
492 Theta_init = token_value;
493 initParts -> storeCommands (*command_line);
498 if (check_float(linetoken3))
499 token3 >> token_value;
501 uiuc_warnings_errors(1, *command_line);
503 Psi_init_true = true;
504 Psi_init = token_value;
505 initParts -> storeCommands (*command_line);
510 if (check_float(linetoken3))
511 token3 >> token_value;
513 uiuc_warnings_errors(1, *command_line);
515 Long_trim = token_value;
516 initParts -> storeCommands (*command_line);
519 case recordRate_flag:
521 //can't use check_float since variable is integer
522 token3 >> token_value_recordRate;
523 recordRate = 120 / token_value_recordRate;
526 case recordStartTime_flag:
528 if (check_float(linetoken3))
529 token3 >> token_value;
531 uiuc_warnings_errors(1, *command_line);
533 recordStartTime = token_value;
536 case nondim_rate_V_rel_wind_flag:
538 nondim_rate_V_rel_wind = true;
541 case dyn_on_speed_flag:
543 if (check_float(linetoken3))
544 token3 >> token_value;
546 uiuc_warnings_errors(1, *command_line);
548 dyn_on_speed = token_value;
553 if (check_float(linetoken3))
554 token3 >> token_value;
556 uiuc_warnings_errors(1, *command_line);
558 Alpha_init_true = true;
559 Alpha_init = token_value * DEG_TO_RAD;
564 if (check_float(linetoken3))
565 token3 >> token_value;
567 uiuc_warnings_errors(1, *command_line);
569 Beta_init_true = true;
570 Beta_init = token_value * DEG_TO_RAD;
575 if (check_float(linetoken3))
576 token3 >> token_value;
578 uiuc_warnings_errors(1, *command_line);
580 U_body_init_true = true;
581 U_body_init = token_value;
586 if (check_float(linetoken3))
587 token3 >> token_value;
589 uiuc_warnings_errors(1, *command_line);
591 V_body_init_true = true;
592 V_body_init = token_value;
597 if (check_float(linetoken3))
598 token3 >> token_value;
600 uiuc_warnings_errors(1, *command_line);
602 W_body_init_true = true;
603 W_body_init = token_value;
608 uiuc_warnings_errors(2, *command_line);
618 switch(geometry_map[linetoken2])
622 if (check_float(linetoken3))
623 token3 >> token_value;
625 uiuc_warnings_errors(1, *command_line);
628 geometryParts -> storeCommands (*command_line);
633 if (check_float(linetoken3))
634 token3 >> token_value;
636 uiuc_warnings_errors(1, *command_line);
639 geometryParts -> storeCommands (*command_line);
644 if (check_float(linetoken3))
645 token3 >> token_value;
647 uiuc_warnings_errors(1, *command_line);
650 geometryParts -> storeCommands (*command_line);
655 if (check_float(linetoken3))
656 token3 >> token_value;
658 uiuc_warnings_errors(1, *command_line);
661 geometryParts -> storeCommands (*command_line);
666 if (check_float(linetoken3))
667 token3 >> token_value;
669 uiuc_warnings_errors(1, *command_line);
672 geometryParts -> storeCommands (*command_line);
677 if (check_float(linetoken3))
678 token3 >> token_value;
680 uiuc_warnings_errors(1, *command_line);
683 geometryParts -> storeCommands (*command_line);
688 if (check_float(linetoken3))
689 token3 >> token_value;
691 uiuc_warnings_errors(1, *command_line);
694 geometryParts -> storeCommands (*command_line);
699 uiuc_warnings_errors(2, *command_line);
704 } // end geometry map
707 case controlSurface_flag:
709 switch(controlSurface_map[linetoken2])
713 if (check_float(linetoken3))
714 token3 >> token_value;
716 uiuc_warnings_errors(1, *command_line);
720 if (check_float(linetoken4))
721 token4 >> token_value;
723 uiuc_warnings_errors(1, *command_line);
730 if (check_float(linetoken3))
731 token3 >> token_value;
733 uiuc_warnings_errors(1, *command_line);
737 if (check_float(linetoken4))
738 token4 >> token_value;
740 uiuc_warnings_errors(1, *command_line);
747 if (check_float(linetoken3))
748 token3 >> token_value;
750 uiuc_warnings_errors(1, *command_line);
754 if (check_float(linetoken4))
755 token4 >> token_value;
757 uiuc_warnings_errors(1, *command_line);
762 case set_Long_trim_flag:
764 if (check_float(linetoken3))
765 token3 >> token_value;
767 uiuc_warnings_errors(1, *command_line);
769 set_Long_trim = true;
770 elevator_tab = token_value;
773 case set_Long_trim_deg_flag:
775 if (check_float(linetoken3))
776 token3 >> token_value;
778 uiuc_warnings_errors(1, *command_line);
780 set_Long_trim = true;
781 elevator_tab = token_value * DEG_TO_RAD;
784 case zero_Long_trim_flag:
786 zero_Long_trim = true;
789 case elevator_step_flag:
791 // set step input flag
792 elevator_step = true;
794 // read in step angle in degrees and convert
795 if (check_float(linetoken3))
796 token3 >> token_value;
798 uiuc_warnings_errors(1, *command_line);
800 elevator_step_angle = token_value * DEG_TO_RAD;
802 // read in step start time
803 if (check_float(linetoken4))
804 token4 >> token_value;
806 uiuc_warnings_errors(1, *command_line);
808 elevator_step_startTime = token_value;
811 case elevator_singlet_flag:
813 // set singlet input flag
814 elevator_singlet = true;
816 // read in singlet angle in degrees and convert
817 if (check_float(linetoken3))
818 token3 >> token_value;
820 uiuc_warnings_errors(1, *command_line);
822 elevator_singlet_angle = token_value * DEG_TO_RAD;
824 // read in singlet start time
825 if (check_float(linetoken4))
826 token4 >> token_value;
828 uiuc_warnings_errors(1, *command_line);
830 elevator_singlet_startTime = token_value;
832 // read in singlet duration
833 if (check_float(linetoken5))
834 token5 >> token_value;
836 uiuc_warnings_errors(1, *command_line);
838 elevator_singlet_duration = token_value;
841 case elevator_doublet_flag:
843 // set doublet input flag
844 elevator_doublet = true;
846 // read in doublet angle in degrees and convert
847 if (check_float(linetoken3))
848 token3 >> token_value;
850 uiuc_warnings_errors(1, *command_line);
852 elevator_doublet_angle = token_value * DEG_TO_RAD;
854 // read in doublet start time
855 if (check_float(linetoken4))
856 token4 >> token_value;
858 uiuc_warnings_errors(1, *command_line);
860 elevator_doublet_startTime = token_value;
862 // read in doublet duration
863 if (check_float(linetoken5))
864 token5 >> token_value;
866 uiuc_warnings_errors(1, *command_line);
868 elevator_doublet_duration = token_value;
871 case elevator_input_flag:
873 elevator_input = true;
874 elevator_input_file = aircraft_directory + linetoken3;
875 token4 >> token_value_convert1;
876 token5 >> token_value_convert2;
877 convert_y = uiuc_convert(token_value_convert1);
878 convert_x = uiuc_convert(token_value_convert2);
879 uiuc_1DdataFileReader(elevator_input_file,
880 elevator_input_timeArray,
881 elevator_input_deArray,
882 elevator_input_ntime);
883 token6 >> token_value;
884 elevator_input_startTime = token_value;
887 case aileron_input_flag:
889 aileron_input = true;
890 aileron_input_file = aircraft_directory + linetoken3;
891 token4 >> token_value_convert1;
892 token5 >> token_value_convert2;
893 convert_y = uiuc_convert(token_value_convert1);
894 convert_x = uiuc_convert(token_value_convert2);
895 uiuc_1DdataFileReader(aileron_input_file,
896 aileron_input_timeArray,
897 aileron_input_daArray,
898 aileron_input_ntime);
899 token6 >> token_value;
900 aileron_input_startTime = token_value;
903 case rudder_input_flag:
906 rudder_input_file = aircraft_directory + linetoken3;
907 token4 >> token_value_convert1;
908 token5 >> token_value_convert2;
909 convert_y = uiuc_convert(token_value_convert1);
910 convert_x = uiuc_convert(token_value_convert2);
911 uiuc_1DdataFileReader(rudder_input_file,
912 rudder_input_timeArray,
913 rudder_input_drArray,
915 token6 >> token_value;
916 rudder_input_startTime = token_value;
919 case pilot_elev_no_flag:
921 pilot_elev_no_check = true;
924 case pilot_ail_no_flag:
926 pilot_ail_no_check = true;
929 case pilot_rud_no_flag:
931 pilot_rud_no_check = true;
936 if (check_float(linetoken3))
937 token3 >> token_value;
939 uiuc_warnings_errors(1, *command_line);
941 flap_max = token_value;
946 if (check_float(linetoken3))
947 token3 >> token_value;
949 uiuc_warnings_errors(1, *command_line);
951 flap_rate = token_value;
956 uiuc_warnings_errors(2, *command_line);
961 } // end controlSurface map
966 switch(mass_map[linetoken2])
970 if (check_float(linetoken3))
971 token3 >> token_value;
973 uiuc_warnings_errors(1, *command_line);
975 Weight = token_value;
976 Mass = Weight * INVG;
977 massParts -> storeCommands (*command_line);
982 if (check_float(linetoken3))
983 token3 >> token_value;
985 uiuc_warnings_errors(1, *command_line);
988 massParts -> storeCommands (*command_line);
993 if (check_float(linetoken3))
994 token3 >> token_value;
996 uiuc_warnings_errors(1, *command_line);
999 massParts -> storeCommands (*command_line);
1004 if (check_float(linetoken3))
1005 token3 >> token_value;
1007 uiuc_warnings_errors(1, *command_line);
1010 massParts -> storeCommands (*command_line);
1015 if (check_float(linetoken3))
1016 token3 >> token_value;
1018 uiuc_warnings_errors(1, *command_line);
1021 massParts -> storeCommands (*command_line);
1026 if (check_float(linetoken3))
1027 token3 >> token_value;
1029 uiuc_warnings_errors(1, *command_line);
1032 massParts -> storeCommands (*command_line);
1037 uiuc_warnings_errors(2, *command_line);
1047 switch(engine_map[linetoken2])
1049 case simpleSingle_flag:
1051 if (check_float(linetoken3))
1052 token3 >> token_value;
1054 uiuc_warnings_errors(1, *command_line);
1056 simpleSingleMaxThrust = token_value;
1057 engineParts -> storeCommands (*command_line);
1062 engineParts -> storeCommands (*command_line);
1067 engineParts -> storeCommands (*command_line);
1070 case Throttle_pct_input_flag:
1072 Throttle_pct_input = true;
1073 Throttle_pct_input_file = aircraft_directory + linetoken3;
1074 token4 >> token_value_convert1;
1075 token5 >> token_value_convert2;
1076 convert_y = uiuc_convert(token_value_convert1);
1077 convert_x = uiuc_convert(token_value_convert2);
1078 uiuc_1DdataFileReader(Throttle_pct_input_file,
1079 Throttle_pct_input_timeArray,
1080 Throttle_pct_input_dTArray,
1081 Throttle_pct_input_ntime);
1082 token6 >> token_value;
1083 Throttle_pct_input_startTime = token_value;
1088 uiuc_warnings_errors(2, *command_line);
1098 switch(CD_map[linetoken2])
1102 if (check_float(linetoken3))
1103 token3 >> token_value;
1105 uiuc_warnings_errors(1, *command_line);
1109 aeroDragParts -> storeCommands (*command_line);
1114 if (check_float(linetoken3))
1115 token3 >> token_value;
1117 uiuc_warnings_errors(1, *command_line);
1121 aeroDragParts -> storeCommands (*command_line);
1126 if (check_float(linetoken3))
1127 token3 >> token_value;
1129 uiuc_warnings_errors(1, *command_line);
1133 aeroDragParts -> storeCommands (*command_line);
1138 if (check_float(linetoken3))
1139 token3 >> token_value;
1141 uiuc_warnings_errors(1, *command_line);
1143 CD_adot = token_value;
1144 CD_adot_clean = CD_adot;
1145 aeroDragParts -> storeCommands (*command_line);
1150 if (check_float(linetoken3))
1151 token3 >> token_value;
1153 uiuc_warnings_errors(1, *command_line);
1157 aeroDragParts -> storeCommands (*command_line);
1162 if (check_float(linetoken3))
1163 token3 >> token_value;
1165 uiuc_warnings_errors(1, *command_line);
1167 CD_ih = token_value;
1168 aeroDragParts -> storeCommands (*command_line);
1173 if (check_float(linetoken3))
1174 token3 >> token_value;
1176 uiuc_warnings_errors(1, *command_line);
1178 CD_de = token_value;
1179 CD_de_clean = CD_de;
1180 aeroDragParts -> storeCommands (*command_line);
1185 CDfa = aircraft_directory + linetoken3;
1186 token4 >> token_value_convert1;
1187 token5 >> token_value_convert2;
1188 convert_y = uiuc_convert(token_value_convert1);
1189 convert_x = uiuc_convert(token_value_convert2);
1190 /* call 1D File Reader with file name (CDfa) and conversion
1191 factors; function returns array of alphas (aArray) and
1192 corresponding CD values (CDArray) and max number of
1193 terms in arrays (nAlpha) */
1194 uiuc_1DdataFileReader(CDfa,
1198 aeroDragParts -> storeCommands (*command_line);
1203 CDfCL = aircraft_directory + linetoken3;
1204 token4 >> token_value_convert1;
1205 token5 >> token_value_convert2;
1206 convert_y = uiuc_convert(token_value_convert1);
1207 convert_x = uiuc_convert(token_value_convert2);
1208 /* call 1D File Reader with file name (CDfCL) and conversion
1209 factors; function returns array of CLs (CLArray) and
1210 corresponding CD values (CDArray) and max number of
1211 terms in arrays (nCL) */
1212 uiuc_1DdataFileReader(CDfCL,
1216 aeroDragParts -> storeCommands (*command_line);
1221 CDfade = aircraft_directory + linetoken3;
1222 token4 >> token_value_convert1;
1223 token5 >> token_value_convert2;
1224 token6 >> token_value_convert3;
1225 convert_z = uiuc_convert(token_value_convert1);
1226 convert_x = uiuc_convert(token_value_convert2);
1227 convert_y = uiuc_convert(token_value_convert3);
1228 /* call 2D File Reader with file name (CDfade) and
1229 conversion factors; function returns array of
1230 elevator deflections (deArray) and corresponding
1231 alpha (aArray) and delta CD (CDArray) values and
1232 max number of terms in alpha arrays (nAlphaArray)
1233 and deflection array (nde) */
1234 uiuc_2DdataFileReader(CDfade,
1240 aeroDragParts -> storeCommands (*command_line);
1245 CDfdf = aircraft_directory + linetoken3;
1246 token4 >> token_value_convert1;
1247 token5 >> token_value_convert2;
1248 convert_y = uiuc_convert(token_value_convert1);
1249 convert_x = uiuc_convert(token_value_convert2);
1250 /* call 1D File Reader with file name (CDfdf) and conversion
1251 factors; function returns array of dfs (dfArray) and
1252 corresponding CD values (CDArray) and max number of
1253 terms in arrays (ndf) */
1254 uiuc_1DdataFileReader(CDfdf,
1258 aeroDragParts -> storeCommands (*command_line);
1263 CDfadf = aircraft_directory + linetoken3;
1264 token4 >> token_value_convert1;
1265 token5 >> token_value_convert2;
1266 token6 >> token_value_convert3;
1267 convert_z = uiuc_convert(token_value_convert1);
1268 convert_x = uiuc_convert(token_value_convert2);
1269 convert_y = uiuc_convert(token_value_convert3);
1270 /* call 2D File Reader with file name (CDfadf) and
1271 conversion factors; function returns array of
1272 flap deflections (dfArray) and corresponding
1273 alpha (aArray) and delta CD (CDArray) values and
1274 max number of terms in alpha arrays (nAlphaArray)
1275 and deflection array (ndf) */
1276 uiuc_2DdataFileReader(CDfadf,
1282 aeroDragParts -> storeCommands (*command_line);
1287 if (check_float(linetoken3))
1288 token3 >> token_value;
1290 uiuc_warnings_errors(1, *command_line);
1294 aeroDragParts -> storeCommands (*command_line);
1299 if (check_float(linetoken3))
1300 token3 >> token_value;
1302 uiuc_warnings_errors(1, *command_line);
1306 aeroDragParts -> storeCommands (*command_line);
1311 if (check_float(linetoken3))
1312 token3 >> token_value;
1314 uiuc_warnings_errors(1, *command_line);
1318 aeroDragParts -> storeCommands (*command_line);
1323 if (check_float(linetoken3))
1324 token3 >> token_value;
1326 uiuc_warnings_errors(1, *command_line);
1328 CX_a2 = token_value;
1329 CX_a2_clean = CX_a2;
1330 aeroDragParts -> storeCommands (*command_line);
1335 if (check_float(linetoken3))
1336 token3 >> token_value;
1338 uiuc_warnings_errors(1, *command_line);
1340 CX_a3 = token_value;
1341 CX_a3_clean = CX_a3;
1342 aeroDragParts -> storeCommands (*command_line);
1347 if (check_float(linetoken3))
1348 token3 >> token_value;
1350 uiuc_warnings_errors(1, *command_line);
1352 CX_adot = token_value;
1353 CX_adot_clean = CX_adot;
1354 aeroDragParts -> storeCommands (*command_line);
1359 if (check_float(linetoken3))
1360 token3 >> token_value;
1362 uiuc_warnings_errors(1, *command_line);
1366 aeroDragParts -> storeCommands (*command_line);
1371 if (check_float(linetoken3))
1372 token3 >> token_value;
1374 uiuc_warnings_errors(1, *command_line);
1376 CX_de = token_value;
1377 CX_de_clean = CX_de;
1378 aeroDragParts -> storeCommands (*command_line);
1383 if (check_float(linetoken3))
1384 token3 >> token_value;
1386 uiuc_warnings_errors(1, *command_line);
1388 CX_dr = token_value;
1389 CX_dr_clean = CX_dr;
1390 aeroDragParts -> storeCommands (*command_line);
1395 if (check_float(linetoken3))
1396 token3 >> token_value;
1398 uiuc_warnings_errors(1, *command_line);
1400 CX_df = token_value;
1401 CX_df_clean = CX_df;
1402 aeroDragParts -> storeCommands (*command_line);
1407 if (check_float(linetoken3))
1408 token3 >> token_value;
1410 uiuc_warnings_errors(1, *command_line);
1412 CX_adf = token_value;
1413 CX_adf_clean = CX_adf;
1414 aeroDragParts -> storeCommands (*command_line);
1417 case CXfabetaf_flag:
1419 int CXfabetaf_index, i;
1420 string CXfabetaf_file;
1422 CXfabetaf_file = aircraft_directory + linetoken3;
1423 token4 >> CXfabetaf_index;
1424 if (CXfabetaf_index < 1 || CXfabetaf_index >= 30)
1425 uiuc_warnings_errors(1, *command_line);
1426 if (CXfabetaf_index > CXfabetaf_nf)
1427 CXfabetaf_nf = CXfabetaf_index;
1428 token5 >> flap_value;
1429 CXfabetaf_fArray[CXfabetaf_index] = flap_value;
1430 token6 >> token_value_convert1;
1431 token7 >> token_value_convert2;
1432 token8 >> token_value_convert3;
1433 token9 >> CXfabetaf_nice;
1434 convert_z = uiuc_convert(token_value_convert1);
1435 convert_x = uiuc_convert(token_value_convert2);
1436 convert_y = uiuc_convert(token_value_convert3);
1437 /* call 2D File Reader with file name (CXfabetaf_file) and
1438 conversion factors; function returns array of
1439 elevator deflections (deArray) and corresponding
1440 alpha (aArray) and delta CZ (CZArray) values and
1441 max number of terms in alpha arrays (nAlphaArray)
1442 and delfection array (nde) */
1443 uiuc_2DdataFileReader(CXfabetaf_file,
1449 d_2_to_3(datafile_xArray, CXfabetaf_aArray, CXfabetaf_index);
1450 d_1_to_2(datafile_yArray, CXfabetaf_betaArray, CXfabetaf_index);
1451 d_2_to_3(datafile_zArray, CXfabetaf_CXArray, CXfabetaf_index);
1452 i_1_to_2(datafile_nxArray, CXfabetaf_nAlphaArray, CXfabetaf_index);
1453 CXfabetaf_nbeta[CXfabetaf_index] = datafile_ny;
1454 if (CXfabetaf_first==true)
1456 if (CXfabetaf_nice == 1)
1458 CXfabetaf_na_nice = datafile_nxArray[1];
1459 CXfabetaf_nb_nice = datafile_ny;
1460 d_1_to_1(CXfabetaf_bArray_nice, datafile_yArray);
1461 for (i=1; i<=CXfabetaf_na_nice; i++)
1462 CXfabetaf_aArray_nice[i] = datafile_xArray[1][i];
1464 aeroDragParts -> storeCommands (*command_line);
1465 CXfabetaf_first=false;
1471 int CXfadef_index, i;
1472 string CXfadef_file;
1474 CXfadef_file = aircraft_directory + linetoken3;
1475 token4 >> CXfadef_index;
1476 if (CXfadef_index < 0 || CXfadef_index >= 30)
1477 uiuc_warnings_errors(1, *command_line);
1478 if (CXfadef_index > CXfadef_nf)
1479 CXfadef_nf = CXfadef_index;
1480 token5 >> flap_value;
1481 CXfadef_fArray[CXfadef_index] = flap_value;
1482 token6 >> token_value_convert1;
1483 token7 >> token_value_convert2;
1484 token8 >> token_value_convert3;
1485 token9 >> CXfadef_nice;
1486 convert_z = uiuc_convert(token_value_convert1);
1487 convert_x = uiuc_convert(token_value_convert2);
1488 convert_y = uiuc_convert(token_value_convert3);
1489 /* call 2D File Reader with file name (CXfadef_file) and
1490 conversion factors; function returns array of
1491 elevator deflections (deArray) and corresponding
1492 alpha (aArray) and delta CZ (CZArray) values and
1493 max number of terms in alpha arrays (nAlphaArray)
1494 and delfection array (nde) */
1495 uiuc_2DdataFileReader(CXfadef_file,
1501 d_2_to_3(datafile_xArray, CXfadef_aArray, CXfadef_index);
1502 d_1_to_2(datafile_yArray, CXfadef_deArray, CXfadef_index);
1503 d_2_to_3(datafile_zArray, CXfadef_CXArray, CXfadef_index);
1504 i_1_to_2(datafile_nxArray, CXfadef_nAlphaArray, CXfadef_index);
1505 CXfadef_nde[CXfadef_index] = datafile_ny;
1506 if (CXfadef_first==true)
1508 if (CXfadef_nice == 1)
1510 CXfadef_na_nice = datafile_nxArray[1];
1511 CXfadef_nde_nice = datafile_ny;
1512 d_1_to_1(CXfadef_deArray_nice, datafile_yArray);
1513 for (i=1; i<=CXfadef_na_nice; i++)
1514 CXfadef_aArray_nice[i] = datafile_xArray[1][i];
1516 aeroDragParts -> storeCommands (*command_line);
1517 CXfadef_first=false;
1523 int CXfaqf_index, i;
1526 CXfaqf_file = aircraft_directory + linetoken3;
1527 token4 >> CXfaqf_index;
1528 if (CXfaqf_index < 0 || CXfaqf_index >= 30)
1529 uiuc_warnings_errors(1, *command_line);
1530 if (CXfaqf_index > CXfaqf_nf)
1531 CXfaqf_nf = CXfaqf_index;
1532 token5 >> flap_value;
1533 CXfaqf_fArray[CXfaqf_index] = flap_value;
1534 token6 >> token_value_convert1;
1535 token7 >> token_value_convert2;
1536 token8 >> token_value_convert3;
1537 token9 >> CXfaqf_nice;
1538 convert_z = uiuc_convert(token_value_convert1);
1539 convert_x = uiuc_convert(token_value_convert2);
1540 convert_y = uiuc_convert(token_value_convert3);
1541 /* call 2D File Reader with file name (CXfaqf_file) and
1542 conversion factors; function returns array of
1543 elevator deflections (deArray) and corresponding
1544 alpha (aArray) and delta CZ (CZArray) values and
1545 max number of terms in alpha arrays (nAlphaArray)
1546 and delfection array (nde) */
1547 uiuc_2DdataFileReader(CXfaqf_file,
1553 d_2_to_3(datafile_xArray, CXfaqf_aArray, CXfaqf_index);
1554 d_1_to_2(datafile_yArray, CXfaqf_qArray, CXfaqf_index);
1555 d_2_to_3(datafile_zArray, CXfaqf_CXArray, CXfaqf_index);
1556 i_1_to_2(datafile_nxArray, CXfaqf_nAlphaArray, CXfaqf_index);
1557 CXfaqf_nq[CXfaqf_index] = datafile_ny;
1558 if (CXfaqf_first==true)
1560 if (CXfaqf_nice == 1)
1562 CXfaqf_na_nice = datafile_nxArray[1];
1563 CXfaqf_nq_nice = datafile_ny;
1564 d_1_to_1(CXfaqf_qArray_nice, datafile_yArray);
1565 for (i=1; i<=CXfaqf_na_nice; i++)
1566 CXfaqf_aArray_nice[i] = datafile_xArray[1][i];
1568 aeroDragParts -> storeCommands (*command_line);
1575 uiuc_warnings_errors(2, *command_line);
1585 switch(CL_map[linetoken2])
1589 if (check_float(linetoken3))
1590 token3 >> token_value;
1592 uiuc_warnings_errors(1, *command_line);
1596 aeroLiftParts -> storeCommands (*command_line);
1601 if (check_float(linetoken3))
1602 token3 >> token_value;
1604 uiuc_warnings_errors(1, *command_line);
1608 aeroLiftParts -> storeCommands (*command_line);
1613 if (check_float(linetoken3))
1614 token3 >> token_value;
1616 uiuc_warnings_errors(1, *command_line);
1618 CL_adot = token_value;
1619 CL_adot_clean = CL_adot;
1620 aeroLiftParts -> storeCommands (*command_line);
1625 if (check_float(linetoken3))
1626 token3 >> token_value;
1628 uiuc_warnings_errors(1, *command_line);
1632 aeroLiftParts -> storeCommands (*command_line);
1637 if (check_float(linetoken3))
1638 token3 >> token_value;
1640 uiuc_warnings_errors(1, *command_line);
1642 CL_ih = token_value;
1643 aeroLiftParts -> storeCommands (*command_line);
1648 if (check_float(linetoken3))
1649 token3 >> token_value;
1651 uiuc_warnings_errors(1, *command_line);
1653 CL_de = token_value;
1654 CL_de_clean = CL_de;
1655 aeroLiftParts -> storeCommands (*command_line);
1660 CLfa = aircraft_directory + linetoken3;
1661 token4 >> token_value_convert1;
1662 token5 >> token_value_convert2;
1663 convert_y = uiuc_convert(token_value_convert1);
1664 convert_x = uiuc_convert(token_value_convert2);
1665 /* call 1D File Reader with file name (CLfa) and conversion
1666 factors; function returns array of alphas (aArray) and
1667 corresponding CL values (CLArray) and max number of
1668 terms in arrays (nAlpha) */
1669 uiuc_1DdataFileReader(CLfa,
1673 aeroLiftParts -> storeCommands (*command_line);
1678 CLfade = aircraft_directory + linetoken3;
1679 token4 >> token_value_convert1;
1680 token5 >> token_value_convert2;
1681 token6 >> token_value_convert3;
1682 convert_z = uiuc_convert(token_value_convert1);
1683 convert_x = uiuc_convert(token_value_convert2);
1684 convert_y = uiuc_convert(token_value_convert3);
1685 /* call 2D File Reader with file name (CLfade) and
1686 conversion factors; function returns array of
1687 elevator deflections (deArray) and corresponding
1688 alpha (aArray) and delta CL (CLArray) values and
1689 max number of terms in alpha arrays (nAlphaArray)
1690 and deflection array (nde) */
1691 uiuc_2DdataFileReader(CLfade,
1697 aeroLiftParts -> storeCommands (*command_line);
1702 CLfdf = aircraft_directory + linetoken3;
1703 token4 >> token_value_convert1;
1704 token5 >> token_value_convert2;
1705 convert_y = uiuc_convert(token_value_convert1);
1706 convert_x = uiuc_convert(token_value_convert2);
1707 /* call 1D File Reader with file name (CLfdf) and conversion
1708 factors; function returns array of dfs (dfArray) and
1709 corresponding CL values (CLArray) and max number of
1710 terms in arrays (ndf) */
1711 uiuc_1DdataFileReader(CLfdf,
1715 aeroLiftParts -> storeCommands (*command_line);
1717 // additional variables to streamline flap routine in aerodeflections
1719 int temp_counter = 1;
1720 while (temp_counter <= ndf)
1722 dfArray[temp_counter] = CLfdf_dfArray[temp_counter];
1723 TimeArray[temp_counter] = dfTimefdf_TimeArray[temp_counter];
1730 CLfadf = aircraft_directory + linetoken3;
1731 token4 >> token_value_convert1;
1732 token5 >> token_value_convert2;
1733 token6 >> token_value_convert3;
1734 convert_z = uiuc_convert(token_value_convert1);
1735 convert_x = uiuc_convert(token_value_convert2);
1736 convert_y = uiuc_convert(token_value_convert3);
1737 /* call 2D File Reader with file name (CLfadf) and
1738 conversion factors; function returns array of
1739 flap deflections (dfArray) and corresponding
1740 alpha (aArray) and delta CL (CLArray) values and
1741 max number of terms in alpha arrays (nAlphaArray)
1742 and deflection array (ndf) */
1743 uiuc_2DdataFileReader(CLfadf,
1749 aeroLiftParts -> storeCommands (*command_line);
1754 if (check_float(linetoken3))
1755 token3 >> token_value;
1757 uiuc_warnings_errors(1, *command_line);
1761 aeroLiftParts -> storeCommands (*command_line);
1766 if (check_float(linetoken3))
1767 token3 >> token_value;
1769 uiuc_warnings_errors(1, *command_line);
1773 aeroLiftParts -> storeCommands (*command_line);
1778 if (check_float(linetoken3))
1779 token3 >> token_value;
1781 uiuc_warnings_errors(1, *command_line);
1783 CZ_a2 = token_value;
1784 CZ_a2_clean = CZ_a2;
1785 aeroLiftParts -> storeCommands (*command_line);
1790 if (check_float(linetoken3))
1791 token3 >> token_value;
1793 uiuc_warnings_errors(1, *command_line);
1795 CZ_a3 = token_value;
1796 CZ_a3_clean = CZ_a3;
1797 aeroLiftParts -> storeCommands (*command_line);
1802 if (check_float(linetoken3))
1803 token3 >> token_value;
1805 uiuc_warnings_errors(1, *command_line);
1807 CZ_adot = token_value;
1808 CZ_adot_clean = CZ_adot;
1809 aeroLiftParts -> storeCommands (*command_line);
1814 if (check_float(linetoken3))
1815 token3 >> token_value;
1817 uiuc_warnings_errors(1, *command_line);
1821 aeroLiftParts -> storeCommands (*command_line);
1826 if (check_float(linetoken3))
1827 token3 >> token_value;
1829 uiuc_warnings_errors(1, *command_line);
1831 CZ_de = token_value;
1832 CZ_de_clean = CZ_de;
1833 aeroLiftParts -> storeCommands (*command_line);
1838 if (check_float(linetoken3))
1839 token3 >> token_value;
1841 uiuc_warnings_errors(1, *command_line);
1843 CZ_deb2 = token_value;
1844 CZ_deb2_clean = CZ_deb2;
1845 aeroLiftParts -> storeCommands (*command_line);
1850 if (check_float(linetoken3))
1851 token3 >> token_value;
1853 uiuc_warnings_errors(1, *command_line);
1855 CZ_df = token_value;
1856 CZ_df_clean = CZ_df;
1857 aeroLiftParts -> storeCommands (*command_line);
1862 if (check_float(linetoken3))
1863 token3 >> token_value;
1865 uiuc_warnings_errors(1, *command_line);
1867 CZ_adf = token_value;
1868 CZ_adf_clean = CZ_adf;
1869 aeroLiftParts -> storeCommands (*command_line);
1874 CZfa = aircraft_directory + linetoken3;
1875 token4 >> token_value_convert1;
1876 token5 >> token_value_convert2;
1877 convert_y = uiuc_convert(token_value_convert1);
1878 convert_x = uiuc_convert(token_value_convert2);
1879 /* call 1D File Reader with file name (CZfa) and conversion
1880 factors; function returns array of alphas (aArray) and
1881 corresponding CZ values (CZArray) and max number of
1882 terms in arrays (nAlpha) */
1883 uiuc_1DdataFileReader(CZfa,
1887 aeroLiftParts -> storeCommands (*command_line);
1890 case CZfabetaf_flag:
1892 int CZfabetaf_index, i;
1893 string CZfabetaf_file;
1895 CZfabetaf_file = aircraft_directory + linetoken3;
1896 token4 >> CZfabetaf_index;
1897 if (CZfabetaf_index < 0 || CZfabetaf_index >= 30)
1898 uiuc_warnings_errors(1, *command_line);
1899 if (CZfabetaf_index > CZfabetaf_nf)
1900 CZfabetaf_nf = CZfabetaf_index;
1901 token5 >> flap_value;
1902 CZfabetaf_fArray[CZfabetaf_index] = flap_value;
1903 token6 >> token_value_convert1;
1904 token7 >> token_value_convert2;
1905 token8 >> token_value_convert3;
1906 token9 >> CZfabetaf_nice;
1907 convert_z = uiuc_convert(token_value_convert1);
1908 convert_x = uiuc_convert(token_value_convert2);
1909 convert_y = uiuc_convert(token_value_convert3);
1910 /* call 2D File Reader with file name (CZfabetaf_file) and
1911 conversion factors; function returns array of
1912 beta (betaArray) and corresponding
1913 alpha (aArray) and CZ (CZArray) values and
1914 max number of terms in alpha arrays (nAlphaArray)
1915 and beta array (nbeta) */
1916 uiuc_2DdataFileReader(CZfabetaf_file,
1922 d_2_to_3(datafile_xArray, CZfabetaf_aArray, CZfabetaf_index);
1923 d_1_to_2(datafile_yArray, CZfabetaf_betaArray, CZfabetaf_index);
1924 d_2_to_3(datafile_zArray, CZfabetaf_CZArray, CZfabetaf_index);
1925 i_1_to_2(datafile_nxArray, CZfabetaf_nAlphaArray, CZfabetaf_index);
1926 CZfabetaf_nbeta[CZfabetaf_index] = datafile_ny;
1927 if (CZfabetaf_first==true)
1929 if (CZfabetaf_nice == 1)
1931 CZfabetaf_na_nice = datafile_nxArray[1];
1932 CZfabetaf_nb_nice = datafile_ny;
1933 d_1_to_1(CZfabetaf_bArray_nice, datafile_yArray);
1934 for (i=1; i<=CZfabetaf_na_nice; i++)
1935 CZfabetaf_aArray_nice[i] = datafile_xArray[1][i];
1937 aeroLiftParts -> storeCommands (*command_line);
1938 CZfabetaf_first=false;
1944 int CZfadef_index, i;
1945 string CZfadef_file;
1947 CZfadef_file = aircraft_directory + linetoken3;
1948 token4 >> CZfadef_index;
1949 if (CZfadef_index < 0 || CZfadef_index >= 30)
1950 uiuc_warnings_errors(1, *command_line);
1951 if (CZfadef_index > CZfadef_nf)
1952 CZfadef_nf = CZfadef_index;
1953 token5 >> flap_value;
1954 CZfadef_fArray[CZfadef_index] = flap_value;
1955 token6 >> token_value_convert1;
1956 token7 >> token_value_convert2;
1957 token8 >> token_value_convert3;
1958 token9 >> CZfadef_nice;
1959 convert_z = uiuc_convert(token_value_convert1);
1960 convert_x = uiuc_convert(token_value_convert2);
1961 convert_y = uiuc_convert(token_value_convert3);
1962 /* call 2D File Reader with file name (CZfadef_file) and
1963 conversion factors; function returns array of
1964 elevator deflections (deArray) and corresponding
1965 alpha (aArray) and delta CZ (CZArray) values and
1966 max number of terms in alpha arrays (nAlphaArray)
1967 and delfection array (nde) */
1968 uiuc_2DdataFileReader(CZfadef_file,
1974 d_2_to_3(datafile_xArray, CZfadef_aArray, CZfadef_index);
1975 d_1_to_2(datafile_yArray, CZfadef_deArray, CZfadef_index);
1976 d_2_to_3(datafile_zArray, CZfadef_CZArray, CZfadef_index);
1977 i_1_to_2(datafile_nxArray, CZfadef_nAlphaArray, CZfadef_index);
1978 CZfadef_nde[CZfadef_index] = datafile_ny;
1979 if (CZfadef_first==true)
1981 if (CZfadef_nice == 1)
1983 CZfadef_na_nice = datafile_nxArray[1];
1984 CZfadef_nde_nice = datafile_ny;
1985 d_1_to_1(CZfadef_deArray_nice, datafile_yArray);
1986 for (i=1; i<=CZfadef_na_nice; i++)
1987 CZfadef_aArray_nice[i] = datafile_xArray[1][i];
1989 aeroLiftParts -> storeCommands (*command_line);
1990 CZfadef_first=false;
1996 int CZfaqf_index, i;
1999 CZfaqf_file = aircraft_directory + linetoken3;
2000 token4 >> CZfaqf_index;
2001 if (CZfaqf_index < 0 || CZfaqf_index >= 30)
2002 uiuc_warnings_errors(1, *command_line);
2003 if (CZfaqf_index > CZfaqf_nf)
2004 CZfaqf_nf = CZfaqf_index;
2005 token5 >> flap_value;
2006 CZfaqf_fArray[CZfaqf_index] = flap_value;
2007 token6 >> token_value_convert1;
2008 token7 >> token_value_convert2;
2009 token8 >> token_value_convert3;
2010 token9 >> CZfaqf_nice;
2011 convert_z = uiuc_convert(token_value_convert1);
2012 convert_x = uiuc_convert(token_value_convert2);
2013 convert_y = uiuc_convert(token_value_convert3);
2014 /* call 2D File Reader with file name (CZfaqf_file) and
2015 conversion factors; function returns array of
2016 pitch rate (qArray) and corresponding
2017 alpha (aArray) and delta CZ (CZArray) values and
2018 max number of terms in alpha arrays (nAlphaArray)
2019 and pitch rate array (nq) */
2020 uiuc_2DdataFileReader(CZfaqf_file,
2026 d_2_to_3(datafile_xArray, CZfaqf_aArray, CZfaqf_index);
2027 d_1_to_2(datafile_yArray, CZfaqf_qArray, CZfaqf_index);
2028 d_2_to_3(datafile_zArray, CZfaqf_CZArray, CZfaqf_index);
2029 i_1_to_2(datafile_nxArray, CZfaqf_nAlphaArray, CZfaqf_index);
2030 CZfaqf_nq[CZfaqf_index] = datafile_ny;
2031 if (CZfaqf_first==true)
2033 if (CZfaqf_nice == 1)
2035 CZfaqf_na_nice = datafile_nxArray[1];
2036 CZfaqf_nq_nice = datafile_ny;
2037 d_1_to_1(CZfaqf_qArray_nice, datafile_yArray);
2038 for (i=1; i<=CZfaqf_na_nice; i++)
2039 CZfaqf_aArray_nice[i] = datafile_xArray[1][i];
2041 aeroLiftParts -> storeCommands (*command_line);
2048 uiuc_warnings_errors(2, *command_line);
2058 switch(Cm_map[linetoken2])
2062 if (check_float(linetoken3))
2063 token3 >> token_value;
2065 uiuc_warnings_errors(1, *command_line);
2069 aeroPitchParts -> storeCommands (*command_line);
2074 if (check_float(linetoken3))
2075 token3 >> token_value;
2077 uiuc_warnings_errors(1, *command_line);
2081 aeroPitchParts -> storeCommands (*command_line);
2086 if (check_float(linetoken3))
2087 token3 >> token_value;
2089 uiuc_warnings_errors(1, *command_line);
2091 Cm_a2 = token_value;
2092 Cm_a2_clean = Cm_a2;
2093 aeroPitchParts -> storeCommands (*command_line);
2098 if (check_float(linetoken3))
2099 token3 >> token_value;
2101 uiuc_warnings_errors(1, *command_line);
2103 Cm_adot = token_value;
2104 Cm_adot_clean = Cm_adot;
2105 aeroPitchParts -> storeCommands (*command_line);
2110 if (check_float(linetoken3))
2111 token3 >> token_value;
2113 uiuc_warnings_errors(1, *command_line);
2117 aeroPitchParts -> storeCommands (*command_line);
2122 if (check_float(linetoken3))
2123 token3 >> token_value;
2125 uiuc_warnings_errors(1, *command_line);
2127 Cm_ih = token_value;
2128 aeroPitchParts -> storeCommands (*command_line);
2133 if (check_float(linetoken3))
2134 token3 >> token_value;
2136 uiuc_warnings_errors(1, *command_line);
2138 Cm_de = token_value;
2139 Cm_de_clean = Cm_de;
2140 aeroPitchParts -> storeCommands (*command_line);
2145 if (check_float(linetoken3))
2146 token3 >> token_value;
2148 uiuc_warnings_errors(1, *command_line);
2150 Cm_b2 = token_value;
2151 Cm_b2_clean = Cm_b2;
2152 aeroPitchParts -> storeCommands (*command_line);
2157 if (check_float(linetoken3))
2158 token3 >> token_value;
2160 uiuc_warnings_errors(1, *command_line);
2164 aeroPitchParts -> storeCommands (*command_line);
2169 if (check_float(linetoken3))
2170 token3 >> token_value;
2172 uiuc_warnings_errors(1, *command_line);
2174 Cm_df = token_value;
2175 Cm_df_clean = Cm_df;
2176 aeroPitchParts -> storeCommands (*command_line);
2181 Cmfa = aircraft_directory + linetoken3;
2182 token4 >> token_value_convert1;
2183 token5 >> token_value_convert2;
2184 convert_y = uiuc_convert(token_value_convert1);
2185 convert_x = uiuc_convert(token_value_convert2);
2186 /* call 1D File Reader with file name (Cmfa) and conversion
2187 factors; function returns array of alphas (aArray) and
2188 corresponding Cm values (CmArray) and max number of
2189 terms in arrays (nAlpha) */
2190 uiuc_1DdataFileReader(Cmfa,
2194 aeroPitchParts -> storeCommands (*command_line);
2199 Cmfade = aircraft_directory + linetoken3;
2200 token4 >> token_value_convert1;
2201 token5 >> token_value_convert2;
2202 token6 >> token_value_convert3;
2203 convert_z = uiuc_convert(token_value_convert1);
2204 convert_x = uiuc_convert(token_value_convert2);
2205 convert_y = uiuc_convert(token_value_convert3);
2206 /* call 2D File Reader with file name (Cmfade) and
2207 conversion factors; function returns array of
2208 elevator deflections (deArray) and corresponding
2209 alpha (aArray) and delta Cm (CmArray) values and
2210 max number of terms in alpha arrays (nAlphaArray)
2211 and deflection array (nde) */
2212 uiuc_2DdataFileReader(Cmfade,
2218 aeroPitchParts -> storeCommands (*command_line);
2223 Cmfdf = aircraft_directory + linetoken3;
2224 token4 >> token_value_convert1;
2225 token5 >> token_value_convert2;
2226 convert_y = uiuc_convert(token_value_convert1);
2227 convert_x = uiuc_convert(token_value_convert2);
2228 /* call 1D File Reader with file name (Cmfdf) and conversion
2229 factors; function returns array of dfs (dfArray) and
2230 corresponding Cm values (CmArray) and max number of
2231 terms in arrays (ndf) */
2232 uiuc_1DdataFileReader(Cmfdf,
2236 aeroPitchParts -> storeCommands (*command_line);
2241 Cmfadf = aircraft_directory + linetoken3;
2242 token4 >> token_value_convert1;
2243 token5 >> token_value_convert2;
2244 token6 >> token_value_convert3;
2245 convert_z = uiuc_convert(token_value_convert1);
2246 convert_x = uiuc_convert(token_value_convert2);
2247 convert_y = uiuc_convert(token_value_convert3);
2248 /* call 2D File Reader with file name (Cmfadf) and
2249 conversion factors; function returns array of
2250 flap deflections (dfArray) and corresponding
2251 alpha (aArray) and delta Cm (CmArray) values and
2252 max number of terms in alpha arrays (nAlphaArray)
2253 and deflection array (ndf) */
2254 uiuc_2DdataFileReader(Cmfadf,
2260 aeroPitchParts -> storeCommands (*command_line);
2263 case Cmfabetaf_flag:
2265 int Cmfabetaf_index, i;
2266 string Cmfabetaf_file;
2268 Cmfabetaf_file = aircraft_directory + linetoken3;
2269 token4 >> Cmfabetaf_index;
2270 if (Cmfabetaf_index < 0 || Cmfabetaf_index >= 30)
2271 uiuc_warnings_errors(1, *command_line);
2272 if (Cmfabetaf_index > Cmfabetaf_nf)
2273 Cmfabetaf_nf = Cmfabetaf_index;
2274 token5 >> flap_value;
2275 Cmfabetaf_fArray[Cmfabetaf_index] = flap_value;
2276 token6 >> token_value_convert1;
2277 token7 >> token_value_convert2;
2278 token8 >> token_value_convert3;
2279 token9 >> Cmfabetaf_nice;
2280 convert_z = uiuc_convert(token_value_convert1);
2281 convert_x = uiuc_convert(token_value_convert2);
2282 convert_y = uiuc_convert(token_value_convert3);
2283 /* call 2D File Reader with file name (Cmfabetaf_file) and
2284 conversion factors; function returns array of
2285 elevator deflections (deArray) and corresponding
2286 alpha (aArray) and delta CZ (CZArray) values and
2287 max number of terms in alpha arrays (nAlphaArray)
2288 and delfection array (nde) */
2289 uiuc_2DdataFileReader(Cmfabetaf_file,
2295 d_2_to_3(datafile_xArray, Cmfabetaf_aArray, Cmfabetaf_index);
2296 d_1_to_2(datafile_yArray, Cmfabetaf_betaArray, Cmfabetaf_index);
2297 d_2_to_3(datafile_zArray, Cmfabetaf_CmArray, Cmfabetaf_index);
2298 i_1_to_2(datafile_nxArray, Cmfabetaf_nAlphaArray, Cmfabetaf_index);
2299 Cmfabetaf_nbeta[Cmfabetaf_index] = datafile_ny;
2300 if (Cmfabetaf_first==true)
2302 if (Cmfabetaf_nice == 1)
2304 Cmfabetaf_na_nice = datafile_nxArray[1];
2305 Cmfabetaf_nb_nice = datafile_ny;
2306 d_1_to_1(Cmfabetaf_bArray_nice, datafile_yArray);
2307 for (i=1; i<=Cmfabetaf_na_nice; i++)
2308 Cmfabetaf_aArray_nice[i] = datafile_xArray[1][i];
2310 aeroPitchParts -> storeCommands (*command_line);
2311 Cmfabetaf_first=false;
2317 int Cmfadef_index, i;
2318 string Cmfadef_file;
2320 Cmfadef_file = aircraft_directory + linetoken3;
2321 token4 >> Cmfadef_index;
2322 if (Cmfadef_index < 0 || Cmfadef_index >= 30)
2323 uiuc_warnings_errors(1, *command_line);
2324 if (Cmfadef_index > Cmfadef_nf)
2325 Cmfadef_nf = Cmfadef_index;
2326 token5 >> flap_value;
2327 Cmfadef_fArray[Cmfadef_index] = flap_value;
2328 token6 >> token_value_convert1;
2329 token7 >> token_value_convert2;
2330 token8 >> token_value_convert3;
2331 token9 >> Cmfadef_nice;
2332 convert_z = uiuc_convert(token_value_convert1);
2333 convert_x = uiuc_convert(token_value_convert2);
2334 convert_y = uiuc_convert(token_value_convert3);
2335 /* call 2D File Reader with file name (Cmfadef_file) and
2336 conversion factors; function returns array of
2337 elevator deflections (deArray) and corresponding
2338 alpha (aArray) and delta CZ (CZArray) values and
2339 max number of terms in alpha arrays (nAlphaArray)
2340 and delfection array (nde) */
2341 uiuc_2DdataFileReader(Cmfadef_file,
2347 d_2_to_3(datafile_xArray, Cmfadef_aArray, Cmfadef_index);
2348 d_1_to_2(datafile_yArray, Cmfadef_deArray, Cmfadef_index);
2349 d_2_to_3(datafile_zArray, Cmfadef_CmArray, Cmfadef_index);
2350 i_1_to_2(datafile_nxArray, Cmfadef_nAlphaArray, Cmfadef_index);
2351 Cmfadef_nde[Cmfadef_index] = datafile_ny;
2352 if (Cmfadef_first==true)
2354 if (Cmfadef_nice == 1)
2356 Cmfadef_na_nice = datafile_nxArray[1];
2357 Cmfadef_nde_nice = datafile_ny;
2358 d_1_to_1(Cmfadef_deArray_nice, datafile_yArray);
2359 for (i=1; i<=Cmfadef_na_nice; i++)
2360 Cmfadef_aArray_nice[i] = datafile_xArray[1][i];
2362 aeroPitchParts -> storeCommands (*command_line);
2363 Cmfadef_first=false;
2369 int Cmfaqf_index, i;
2372 Cmfaqf_file = aircraft_directory + linetoken3;
2373 token4 >> Cmfaqf_index;
2374 if (Cmfaqf_index < 0 || Cmfaqf_index >= 30)
2375 uiuc_warnings_errors(1, *command_line);
2376 if (Cmfaqf_index > Cmfaqf_nf)
2377 Cmfaqf_nf = Cmfaqf_index;
2378 token5 >> flap_value;
2379 Cmfaqf_fArray[Cmfaqf_index] = flap_value;
2380 token6 >> token_value_convert1;
2381 token7 >> token_value_convert2;
2382 token8 >> token_value_convert3;
2383 token9 >> Cmfaqf_nice;
2384 convert_z = uiuc_convert(token_value_convert1);
2385 convert_x = uiuc_convert(token_value_convert2);
2386 convert_y = uiuc_convert(token_value_convert3);
2387 /* call 2D File Reader with file name (Cmfaqf_file) and
2388 conversion factors; function returns array of
2389 elevator deflections (deArray) and corresponding
2390 alpha (aArray) and delta CZ (CZArray) values and
2391 max number of terms in alpha arrays (nAlphaArray)
2392 and delfection array (nde) */
2393 uiuc_2DdataFileReader(Cmfaqf_file,
2399 d_2_to_3(datafile_xArray, Cmfaqf_aArray, Cmfaqf_index);
2400 d_1_to_2(datafile_yArray, Cmfaqf_qArray, Cmfaqf_index);
2401 d_2_to_3(datafile_zArray, Cmfaqf_CmArray, Cmfaqf_index);
2402 i_1_to_2(datafile_nxArray, Cmfaqf_nAlphaArray, Cmfaqf_index);
2403 Cmfaqf_nq[Cmfaqf_index] = datafile_ny;
2404 if (Cmfaqf_first==true)
2406 if (Cmfaqf_nice == 1)
2408 Cmfaqf_na_nice = datafile_nxArray[1];
2409 Cmfaqf_nq_nice = datafile_ny;
2410 d_1_to_1(Cmfaqf_qArray_nice, datafile_yArray);
2411 for (i=1; i<=Cmfaqf_na_nice; i++)
2412 Cmfaqf_aArray_nice[i] = datafile_xArray[1][i];
2414 aeroPitchParts -> storeCommands (*command_line);
2421 uiuc_warnings_errors(2, *command_line);
2431 switch(CY_map[linetoken2])
2435 if (check_float(linetoken3))
2436 token3 >> token_value;
2438 uiuc_warnings_errors(1, *command_line);
2442 aeroSideforceParts -> storeCommands (*command_line);
2447 if (check_float(linetoken3))
2448 token3 >> token_value;
2450 uiuc_warnings_errors(1, *command_line);
2452 CY_beta = token_value;
2453 CY_beta_clean = CY_beta;
2454 aeroSideforceParts -> storeCommands (*command_line);
2459 if (check_float(linetoken3))
2460 token3 >> token_value;
2462 uiuc_warnings_errors(1, *command_line);
2466 aeroSideforceParts -> storeCommands (*command_line);
2471 if (check_float(linetoken3))
2472 token3 >> token_value;
2474 uiuc_warnings_errors(1, *command_line);
2478 aeroSideforceParts -> storeCommands (*command_line);
2483 if (check_float(linetoken3))
2484 token3 >> token_value;
2486 uiuc_warnings_errors(1, *command_line);
2488 CY_da = token_value;
2489 CY_da_clean = CY_da;
2490 aeroSideforceParts -> storeCommands (*command_line);
2495 if (check_float(linetoken3))
2496 token3 >> token_value;
2498 uiuc_warnings_errors(2, *command_line);
2500 CY_dr = token_value;
2501 CY_dr_clean = CY_dr;
2502 aeroSideforceParts -> storeCommands (*command_line);
2507 if (check_float(linetoken3))
2508 token3 >> token_value;
2510 uiuc_warnings_errors(2, *command_line);
2512 CY_dra = token_value;
2513 CY_dra_clean = CY_dra;
2514 aeroSideforceParts -> storeCommands (*command_line);
2519 if (check_float(linetoken3))
2520 token3 >> token_value;
2522 uiuc_warnings_errors(2, *command_line);
2524 CY_bdot = token_value;
2525 CY_bdot_clean = CY_bdot;
2526 aeroSideforceParts -> storeCommands (*command_line);
2531 CYfada = aircraft_directory + linetoken3;
2532 token4 >> token_value_convert1;
2533 token5 >> token_value_convert2;
2534 token6 >> token_value_convert3;
2535 convert_z = uiuc_convert(token_value_convert1);
2536 convert_x = uiuc_convert(token_value_convert2);
2537 convert_y = uiuc_convert(token_value_convert3);
2538 /* call 2D File Reader with file name (CYfada) and
2539 conversion factors; function returns array of
2540 aileron deflections (daArray) and corresponding
2541 alpha (aArray) and delta CY (CYArray) values and
2542 max number of terms in alpha arrays (nAlphaArray)
2543 and deflection array (nda) */
2544 uiuc_2DdataFileReader(CYfada,
2550 aeroSideforceParts -> storeCommands (*command_line);
2553 case CYfbetadr_flag:
2555 CYfbetadr = aircraft_directory + linetoken3;
2556 token4 >> token_value_convert1;
2557 token5 >> token_value_convert2;
2558 token6 >> token_value_convert3;
2559 convert_z = uiuc_convert(token_value_convert1);
2560 convert_x = uiuc_convert(token_value_convert2);
2561 convert_y = uiuc_convert(token_value_convert3);
2562 /* call 2D File Reader with file name (CYfbetadr) and
2563 conversion factors; function returns array of
2564 rudder deflections (drArray) and corresponding
2565 beta (betaArray) and delta CY (CYArray) values and
2566 max number of terms in beta arrays (nBetaArray)
2567 and deflection array (ndr) */
2568 uiuc_2DdataFileReader(CYfbetadr,
2569 CYfbetadr_betaArray,
2572 CYfbetadr_nBetaArray,
2574 aeroSideforceParts -> storeCommands (*command_line);
2577 case CYfabetaf_flag:
2579 int CYfabetaf_index, i;
2580 string CYfabetaf_file;
2582 CYfabetaf_file = aircraft_directory + linetoken3;
2583 token4 >> CYfabetaf_index;
2584 if (CYfabetaf_index < 0 || CYfabetaf_index >= 30)
2585 uiuc_warnings_errors(1, *command_line);
2586 if (CYfabetaf_index > CYfabetaf_nf)
2587 CYfabetaf_nf = CYfabetaf_index;
2588 token5 >> flap_value;
2589 CYfabetaf_fArray[CYfabetaf_index] = flap_value;
2590 token6 >> token_value_convert1;
2591 token7 >> token_value_convert2;
2592 token8 >> token_value_convert3;
2593 token9 >> CYfabetaf_nice;
2594 convert_z = uiuc_convert(token_value_convert1);
2595 convert_x = uiuc_convert(token_value_convert2);
2596 convert_y = uiuc_convert(token_value_convert3);
2597 /* call 2D File Reader with file name (CYfabetaf_file) and
2598 conversion factors; function returns array of
2599 elevator deflections (deArray) and corresponding
2600 alpha (aArray) and delta CZ (CZArray) values and
2601 max number of terms in alpha arrays (nAlphaArray)
2602 and delfection array (nde) */
2603 uiuc_2DdataFileReader(CYfabetaf_file,
2609 d_2_to_3(datafile_xArray, CYfabetaf_aArray, CYfabetaf_index);
2610 d_1_to_2(datafile_yArray, CYfabetaf_betaArray, CYfabetaf_index);
2611 d_2_to_3(datafile_zArray, CYfabetaf_CYArray, CYfabetaf_index);
2612 i_1_to_2(datafile_nxArray, CYfabetaf_nAlphaArray, CYfabetaf_index);
2613 CYfabetaf_nbeta[CYfabetaf_index] = datafile_ny;
2614 if (CYfabetaf_first==true)
2616 if (CYfabetaf_nice == 1)
2618 CYfabetaf_na_nice = datafile_nxArray[1];
2619 CYfabetaf_nb_nice = datafile_ny;
2620 d_1_to_1(CYfabetaf_bArray_nice, datafile_yArray);
2621 for (i=1; i<=CYfabetaf_na_nice; i++)
2622 CYfabetaf_aArray_nice[i] = datafile_xArray[1][i];
2624 aeroSideforceParts -> storeCommands (*command_line);
2625 CYfabetaf_first=false;
2631 int CYfadaf_index, i;
2632 string CYfadaf_file;
2634 CYfadaf_file = aircraft_directory + linetoken3;
2635 token4 >> CYfadaf_index;
2636 if (CYfadaf_index < 0 || CYfadaf_index >= 30)
2637 uiuc_warnings_errors(1, *command_line);
2638 if (CYfadaf_index > CYfadaf_nf)
2639 CYfadaf_nf = CYfadaf_index;
2640 token5 >> flap_value;
2641 CYfadaf_fArray[CYfadaf_index] = flap_value;
2642 token6 >> token_value_convert1;
2643 token7 >> token_value_convert2;
2644 token8 >> token_value_convert3;
2645 token9 >> CYfadaf_nice;
2646 convert_z = uiuc_convert(token_value_convert1);
2647 convert_x = uiuc_convert(token_value_convert2);
2648 convert_y = uiuc_convert(token_value_convert3);
2649 /* call 2D File Reader with file name (CYfadaf_file) and
2650 conversion factors; function returns array of
2651 elevator deflections (deArray) and corresponding
2652 alpha (aArray) and delta CZ (CZArray) values and
2653 max number of terms in alpha arrays (nAlphaArray)
2654 and delfection array (nde) */
2655 uiuc_2DdataFileReader(CYfadaf_file,
2661 d_2_to_3(datafile_xArray, CYfadaf_aArray, CYfadaf_index);
2662 d_1_to_2(datafile_yArray, CYfadaf_daArray, CYfadaf_index);
2663 d_2_to_3(datafile_zArray, CYfadaf_CYArray, CYfadaf_index);
2664 i_1_to_2(datafile_nxArray, CYfadaf_nAlphaArray, CYfadaf_index);
2665 CYfadaf_nda[CYfadaf_index] = datafile_ny;
2666 if (CYfadaf_first==true)
2668 if (CYfadaf_nice == 1)
2670 CYfadaf_na_nice = datafile_nxArray[1];
2671 CYfadaf_nda_nice = datafile_ny;
2672 d_1_to_1(CYfadaf_daArray_nice, datafile_yArray);
2673 for (i=1; i<=CYfadaf_na_nice; i++)
2674 CYfadaf_aArray_nice[i] = datafile_xArray[1][i];
2676 aeroSideforceParts -> storeCommands (*command_line);
2677 CYfadaf_first=false;
2683 int CYfadrf_index, i;
2684 string CYfadrf_file;
2686 CYfadrf_file = aircraft_directory + linetoken3;
2687 token4 >> CYfadrf_index;
2688 if (CYfadrf_index < 0 || CYfadrf_index >= 30)
2689 uiuc_warnings_errors(1, *command_line);
2690 if (CYfadrf_index > CYfadrf_nf)
2691 CYfadrf_nf = CYfadrf_index;
2692 token5 >> flap_value;
2693 CYfadrf_fArray[CYfadrf_index] = flap_value;
2694 token6 >> token_value_convert1;
2695 token7 >> token_value_convert2;
2696 token8 >> token_value_convert3;
2697 token9 >> CYfadrf_nice;
2698 convert_z = uiuc_convert(token_value_convert1);
2699 convert_x = uiuc_convert(token_value_convert2);
2700 convert_y = uiuc_convert(token_value_convert3);
2701 /* call 2D File Reader with file name (CYfadrf_file) and
2702 conversion factors; function returns array of
2703 elevator deflections (deArray) and corresponding
2704 alpha (aArray) and delta CZ (CZArray) values and
2705 max number of terms in alpha arrays (nAlphaArray)
2706 and delfection array (nde) */
2707 uiuc_2DdataFileReader(CYfadrf_file,
2713 d_2_to_3(datafile_xArray, CYfadrf_aArray, CYfadrf_index);
2714 d_1_to_2(datafile_yArray, CYfadrf_drArray, CYfadrf_index);
2715 d_2_to_3(datafile_zArray, CYfadrf_CYArray, CYfadrf_index);
2716 i_1_to_2(datafile_nxArray, CYfadrf_nAlphaArray, CYfadrf_index);
2717 CYfadrf_ndr[CYfadrf_index] = datafile_ny;
2718 if (CYfadrf_first==true)
2720 if (CYfadrf_nice == 1)
2722 CYfadrf_na_nice = datafile_nxArray[1];
2723 CYfadrf_ndr_nice = datafile_ny;
2724 d_1_to_1(CYfadrf_drArray_nice, datafile_yArray);
2725 for (i=1; i<=CYfadrf_na_nice; i++)
2726 CYfadrf_aArray_nice[i] = datafile_xArray[1][i];
2728 aeroSideforceParts -> storeCommands (*command_line);
2729 CYfadrf_first=false;
2735 int CYfapf_index, i;
2738 CYfapf_file = aircraft_directory + linetoken3;
2739 token4 >> CYfapf_index;
2740 if (CYfapf_index < 0 || CYfapf_index >= 30)
2741 uiuc_warnings_errors(1, *command_line);
2742 if (CYfapf_index > CYfapf_nf)
2743 CYfapf_nf = CYfapf_index;
2744 token5 >> flap_value;
2745 CYfapf_fArray[CYfapf_index] = flap_value;
2746 token6 >> token_value_convert1;
2747 token7 >> token_value_convert2;
2748 token8 >> token_value_convert3;
2749 token9 >> CYfapf_nice;
2750 convert_z = uiuc_convert(token_value_convert1);
2751 convert_x = uiuc_convert(token_value_convert2);
2752 convert_y = uiuc_convert(token_value_convert3);
2753 /* call 2D File Reader with file name (CYfapf_file) and
2754 conversion factors; function returns array of
2755 elevator deflections (deArray) and corresponding
2756 alpha (aArray) and delta CZ (CZArray) values and
2757 max number of terms in alpha arrays (nAlphaArray)
2758 and delfection array (nde) */
2759 uiuc_2DdataFileReader(CYfapf_file,
2765 d_2_to_3(datafile_xArray, CYfapf_aArray, CYfapf_index);
2766 d_1_to_2(datafile_yArray, CYfapf_pArray, CYfapf_index);
2767 d_2_to_3(datafile_zArray, CYfapf_CYArray, CYfapf_index);
2768 i_1_to_2(datafile_nxArray, CYfapf_nAlphaArray, CYfapf_index);
2769 CYfapf_np[CYfapf_index] = datafile_ny;
2770 if (CYfapf_first==true)
2772 if (CYfapf_nice == 1)
2774 CYfapf_na_nice = datafile_nxArray[1];
2775 CYfapf_np_nice = datafile_ny;
2776 d_1_to_1(CYfapf_pArray_nice, datafile_yArray);
2777 for (i=1; i<=CYfapf_na_nice; i++)
2778 CYfapf_aArray_nice[i] = datafile_xArray[1][i];
2780 aeroSideforceParts -> storeCommands (*command_line);
2787 int CYfarf_index, i;
2790 CYfarf_file = aircraft_directory + linetoken3;
2791 token4 >> CYfarf_index;
2792 if (CYfarf_index < 0 || CYfarf_index >= 30)
2793 uiuc_warnings_errors(1, *command_line);
2794 if (CYfarf_index > CYfarf_nf)
2795 CYfarf_nf = CYfarf_index;
2796 token5 >> flap_value;
2797 CYfarf_fArray[CYfarf_index] = flap_value;
2798 token6 >> token_value_convert1;
2799 token7 >> token_value_convert2;
2800 token8 >> token_value_convert3;
2801 token9 >> CYfarf_nice;
2802 convert_z = uiuc_convert(token_value_convert1);
2803 convert_x = uiuc_convert(token_value_convert2);
2804 convert_y = uiuc_convert(token_value_convert3);
2805 /* call 2D File Reader with file name (CYfarf_file) and
2806 conversion factors; function returns array of
2807 elevator deflections (deArray) and corresponding
2808 alpha (aArray) and delta CZ (CZArray) values and
2809 max number of terms in alpha arrays (nAlphaArray)
2810 and delfection array (nde) */
2811 uiuc_2DdataFileReader(CYfarf_file,
2817 d_2_to_3(datafile_xArray, CYfarf_aArray, CYfarf_index);
2818 d_1_to_2(datafile_yArray, CYfarf_rArray, CYfarf_index);
2819 d_2_to_3(datafile_zArray, CYfarf_CYArray, CYfarf_index);
2820 i_1_to_2(datafile_nxArray, CYfarf_nAlphaArray, CYfarf_index);
2821 CYfarf_nr[CYfarf_index] = datafile_ny;
2822 if (CYfarf_first==true)
2824 if (CYfarf_nice == 1)
2826 CYfarf_na_nice = datafile_nxArray[1];
2827 CYfarf_nr_nice = datafile_ny;
2828 d_1_to_1(CYfarf_rArray_nice, datafile_yArray);
2829 for (i=1; i<=CYfarf_na_nice; i++)
2830 CYfarf_aArray_nice[i] = datafile_xArray[1][i];
2832 aeroSideforceParts -> storeCommands (*command_line);
2839 uiuc_warnings_errors(2, *command_line);
2849 switch(Cl_map[linetoken2])
2853 if (check_float(linetoken3))
2854 token3 >> token_value;
2856 uiuc_warnings_errors(1, *command_line);
2860 aeroRollParts -> storeCommands (*command_line);
2865 if (check_float(linetoken3))
2866 token3 >> token_value;
2868 uiuc_warnings_errors(1, *command_line);
2870 Cl_beta = token_value;
2871 Cl_beta_clean = Cl_beta;
2872 aeroRollParts -> storeCommands (*command_line);
2877 if (check_float(linetoken3))
2878 token3 >> token_value;
2880 uiuc_warnings_errors(1, *command_line);
2884 aeroRollParts -> storeCommands (*command_line);
2889 if (check_float(linetoken3))
2890 token3 >> token_value;
2892 uiuc_warnings_errors(1, *command_line);
2896 aeroRollParts -> storeCommands (*command_line);
2901 if (check_float(linetoken3))
2902 token3 >> token_value;
2904 uiuc_warnings_errors(1, *command_line);
2906 Cl_da = token_value;
2907 Cl_da_clean = Cl_da;
2908 aeroRollParts -> storeCommands (*command_line);
2913 if (check_float(linetoken3))
2914 token3 >> token_value;
2916 uiuc_warnings_errors(1, *command_line);
2918 Cl_dr = token_value;
2919 Cl_dr_clean = Cl_dr;
2920 aeroRollParts -> storeCommands (*command_line);
2925 if (check_float(linetoken3))
2926 token3 >> token_value;
2928 uiuc_warnings_errors(1, *command_line);
2930 Cl_daa = token_value;
2931 Cl_daa_clean = Cl_daa;
2932 aeroRollParts -> storeCommands (*command_line);
2937 Clfada = aircraft_directory + linetoken3;
2938 token4 >> token_value_convert1;
2939 token5 >> token_value_convert2;
2940 token6 >> token_value_convert3;
2941 convert_z = uiuc_convert(token_value_convert1);
2942 convert_x = uiuc_convert(token_value_convert2);
2943 convert_y = uiuc_convert(token_value_convert3);
2944 /* call 2D File Reader with file name (Clfada) and
2945 conversion factors; function returns array of
2946 aileron deflections (daArray) and corresponding
2947 alpha (aArray) and delta Cl (ClArray) values and
2948 max number of terms in alpha arrays (nAlphaArray)
2949 and deflection array (nda) */
2950 uiuc_2DdataFileReader(Clfada,
2956 aeroRollParts -> storeCommands (*command_line);
2959 case Clfbetadr_flag:
2961 Clfbetadr = aircraft_directory + linetoken3;
2962 token4 >> token_value_convert1;
2963 token5 >> token_value_convert2;
2964 token6 >> token_value_convert3;
2965 convert_z = uiuc_convert(token_value_convert1);
2966 convert_x = uiuc_convert(token_value_convert2);
2967 convert_y = uiuc_convert(token_value_convert3);
2968 /* call 2D File Reader with file name (Clfbetadr) and
2969 conversion factors; function returns array of
2970 rudder deflections (drArray) and corresponding
2971 beta (betaArray) and delta Cl (ClArray) values and
2972 max number of terms in beta arrays (nBetaArray)
2973 and deflection array (ndr) */
2974 uiuc_2DdataFileReader(Clfbetadr,
2975 Clfbetadr_betaArray,
2978 Clfbetadr_nBetaArray,
2980 aeroRollParts -> storeCommands (*command_line);
2983 case Clfabetaf_flag:
2985 int Clfabetaf_index, i;
2986 string Clfabetaf_file;
2988 Clfabetaf_file = aircraft_directory + linetoken3;
2989 token4 >> Clfabetaf_index;
2990 if (Clfabetaf_index < 0 || Clfabetaf_index >= 100)
2991 uiuc_warnings_errors(1, *command_line);
2992 if (Clfabetaf_index > Clfabetaf_nf)
2993 Clfabetaf_nf = Clfabetaf_index;
2994 token5 >> flap_value;
2995 Clfabetaf_fArray[Clfabetaf_index] = flap_value;
2996 token6 >> token_value_convert1;
2997 token7 >> token_value_convert2;
2998 token8 >> token_value_convert3;
2999 token9 >> Clfabetaf_nice;
3000 convert_z = uiuc_convert(token_value_convert1);
3001 convert_x = uiuc_convert(token_value_convert2);
3002 convert_y = uiuc_convert(token_value_convert3);
3003 /* call 2D File Reader with file name (Clfabetaf_file) and
3004 conversion factors; function returns array of
3005 elevator deflections (deArray) and corresponding
3006 alpha (aArray) and delta CZ (CZArray) values and
3007 max number of terms in alpha arrays (nAlphaArray)
3008 and delfection array (nde) */
3009 uiuc_2DdataFileReader(Clfabetaf_file,
3015 d_2_to_3(datafile_xArray, Clfabetaf_aArray, Clfabetaf_index);
3016 d_1_to_2(datafile_yArray, Clfabetaf_betaArray, Clfabetaf_index);
3017 d_2_to_3(datafile_zArray, Clfabetaf_ClArray, Clfabetaf_index);
3018 i_1_to_2(datafile_nxArray, Clfabetaf_nAlphaArray, Clfabetaf_index);
3019 Clfabetaf_nbeta[Clfabetaf_index] = datafile_ny;
3020 if (Clfabetaf_first==true)
3022 if (Clfabetaf_nice == 1)
3024 Clfabetaf_na_nice = datafile_nxArray[1];
3025 Clfabetaf_nb_nice = datafile_ny;
3026 d_1_to_1(Clfabetaf_bArray_nice, datafile_yArray);
3027 for (i=1; i<=Clfabetaf_na_nice; i++)
3028 Clfabetaf_aArray_nice[i] = datafile_xArray[1][i];
3030 aeroRollParts -> storeCommands (*command_line);
3031 Clfabetaf_first=false;
3037 int Clfadaf_index, i;
3038 string Clfadaf_file;
3040 Clfadaf_file = aircraft_directory + linetoken3;
3041 token4 >> Clfadaf_index;
3042 if (Clfadaf_index < 0 || Clfadaf_index >= 100)
3043 uiuc_warnings_errors(1, *command_line);
3044 if (Clfadaf_index > Clfadaf_nf)
3045 Clfadaf_nf = Clfadaf_index;
3046 token5 >> flap_value;
3047 Clfadaf_fArray[Clfadaf_index] = flap_value;
3048 token6 >> token_value_convert1;
3049 token7 >> token_value_convert2;
3050 token8 >> token_value_convert3;
3051 token9 >> Clfadaf_nice;
3052 convert_z = uiuc_convert(token_value_convert1);
3053 convert_x = uiuc_convert(token_value_convert2);
3054 convert_y = uiuc_convert(token_value_convert3);
3055 /* call 2D File Reader with file name (Clfadaf_file) and
3056 conversion factors; function returns array of
3057 elevator deflections (deArray) and corresponding
3058 alpha (aArray) and delta CZ (CZArray) values and
3059 max number of terms in alpha arrays (nAlphaArray)
3060 and delfection array (nde) */
3061 uiuc_2DdataFileReader(Clfadaf_file,
3067 d_2_to_3(datafile_xArray, Clfadaf_aArray, Clfadaf_index);
3068 d_1_to_2(datafile_yArray, Clfadaf_daArray, Clfadaf_index);
3069 d_2_to_3(datafile_zArray, Clfadaf_ClArray, Clfadaf_index);
3070 i_1_to_2(datafile_nxArray, Clfadaf_nAlphaArray, Clfadaf_index);
3071 Clfadaf_nda[Clfadaf_index] = datafile_ny;
3072 if (Clfadaf_first==true)
3074 if (Clfadaf_nice == 1)
3076 Clfadaf_na_nice = datafile_nxArray[1];
3077 Clfadaf_nda_nice = datafile_ny;
3078 d_1_to_1(Clfadaf_daArray_nice, datafile_yArray);
3079 for (i=1; i<=Clfadaf_na_nice; i++)
3080 Clfadaf_aArray_nice[i] = datafile_xArray[1][i];
3082 aeroRollParts -> storeCommands (*command_line);
3083 Clfadaf_first=false;
3089 int Clfadrf_index, i;
3090 string Clfadrf_file;
3092 Clfadrf_file = aircraft_directory + linetoken3;
3093 token4 >> Clfadrf_index;
3094 if (Clfadrf_index < 0 || Clfadrf_index >= 100)
3095 uiuc_warnings_errors(1, *command_line);
3096 if (Clfadrf_index > Clfadrf_nf)
3097 Clfadrf_nf = Clfadrf_index;
3098 token5 >> flap_value;
3099 Clfadrf_fArray[Clfadrf_index] = flap_value;
3100 token6 >> token_value_convert1;
3101 token7 >> token_value_convert2;
3102 token8 >> token_value_convert3;
3103 token9 >> Clfadrf_nice;
3104 convert_z = uiuc_convert(token_value_convert1);
3105 convert_x = uiuc_convert(token_value_convert2);
3106 convert_y = uiuc_convert(token_value_convert3);
3107 /* call 2D File Reader with file name (Clfadrf_file) and
3108 conversion factors; function returns array of
3109 elevator deflections (deArray) and corresponding
3110 alpha (aArray) and delta CZ (CZArray) values and
3111 max number of terms in alpha arrays (nAlphaArray)
3112 and delfection array (nde) */
3113 uiuc_2DdataFileReader(Clfadrf_file,
3119 d_2_to_3(datafile_xArray, Clfadrf_aArray, Clfadrf_index);
3120 d_1_to_2(datafile_yArray, Clfadrf_drArray, Clfadrf_index);
3121 d_2_to_3(datafile_zArray, Clfadrf_ClArray, Clfadrf_index);
3122 i_1_to_2(datafile_nxArray, Clfadrf_nAlphaArray, Clfadrf_index);
3123 Clfadrf_ndr[Clfadrf_index] = datafile_ny;
3124 if (Clfadrf_first==true)
3126 if (Clfadrf_nice == 1)
3128 Clfadrf_na_nice = datafile_nxArray[1];
3129 Clfadrf_ndr_nice = datafile_ny;
3130 d_1_to_1(Clfadrf_drArray_nice, datafile_yArray);
3131 for (i=1; i<=Clfadrf_na_nice; i++)
3132 Clfadrf_aArray_nice[i] = datafile_xArray[1][i];
3134 aeroRollParts -> storeCommands (*command_line);
3135 Clfadrf_first=false;
3141 int Clfapf_index, i;
3144 Clfapf_file = aircraft_directory + linetoken3;
3145 token4 >> Clfapf_index;
3146 if (Clfapf_index < 0 || Clfapf_index >= 100)
3147 uiuc_warnings_errors(1, *command_line);
3148 if (Clfapf_index > Clfapf_nf)
3149 Clfapf_nf = Clfapf_index;
3150 token5 >> flap_value;
3151 Clfapf_fArray[Clfapf_index] = flap_value;
3152 token6 >> token_value_convert1;
3153 token7 >> token_value_convert2;
3154 token8 >> token_value_convert3;
3155 token9 >> Clfapf_nice;
3156 convert_z = uiuc_convert(token_value_convert1);
3157 convert_x = uiuc_convert(token_value_convert2);
3158 convert_y = uiuc_convert(token_value_convert3);
3159 /* call 2D File Reader with file name (Clfapf_file) and
3160 conversion factors; function returns array of
3161 elevator deflections (deArray) and corresponding
3162 alpha (aArray) and delta CZ (CZArray) values and
3163 max number of terms in alpha arrays (nAlphaArray)
3164 and delfection array (nde) */
3165 uiuc_2DdataFileReader(Clfapf_file,
3171 d_2_to_3(datafile_xArray, Clfapf_aArray, Clfapf_index);
3172 d_1_to_2(datafile_yArray, Clfapf_pArray, Clfapf_index);
3173 d_2_to_3(datafile_zArray, Clfapf_ClArray, Clfapf_index);
3174 i_1_to_2(datafile_nxArray, Clfapf_nAlphaArray, Clfapf_index);
3175 Clfapf_np[Clfapf_index] = datafile_ny;
3176 if (Clfapf_first==true)
3178 if (Clfapf_nice == 1)
3180 Clfapf_na_nice = datafile_nxArray[1];
3181 Clfapf_np_nice = datafile_ny;
3182 d_1_to_1(Clfapf_pArray_nice, datafile_yArray);
3183 for (i=1; i<=Clfapf_na_nice; i++)
3184 Clfapf_aArray_nice[i] = datafile_xArray[1][i];
3186 aeroRollParts -> storeCommands (*command_line);
3193 int Clfarf_index, i;
3196 Clfarf_file = aircraft_directory + linetoken3;
3197 token4 >> Clfarf_index;
3198 if (Clfarf_index < 0 || Clfarf_index >= 100)
3199 uiuc_warnings_errors(1, *command_line);
3200 if (Clfarf_index > Clfarf_nf)
3201 Clfarf_nf = Clfarf_index;
3202 token5 >> flap_value;
3203 Clfarf_fArray[Clfarf_index] = flap_value;
3204 token6 >> token_value_convert1;
3205 token7 >> token_value_convert2;
3206 token8 >> token_value_convert3;
3207 token9 >> Clfarf_nice;
3208 convert_z = uiuc_convert(token_value_convert1);
3209 convert_x = uiuc_convert(token_value_convert2);
3210 convert_y = uiuc_convert(token_value_convert3);
3211 /* call 2D File Reader with file name (Clfarf_file) and
3212 conversion factors; function returns array of
3213 elevator deflections (deArray) and corresponding
3214 alpha (aArray) and delta CZ (CZArray) values and
3215 max number of terms in alpha arrays (nAlphaArray)
3216 and delfection array (nde) */
3217 uiuc_2DdataFileReader(Clfarf_file,
3223 d_2_to_3(datafile_xArray, Clfarf_aArray, Clfarf_index);
3224 d_1_to_2(datafile_yArray, Clfarf_rArray, Clfarf_index);
3225 d_2_to_3(datafile_zArray, Clfarf_ClArray, Clfarf_index);
3226 i_1_to_2(datafile_nxArray, Clfarf_nAlphaArray, Clfarf_index);
3227 Clfarf_nr[Clfarf_index] = datafile_ny;
3228 if (Clfarf_first==true)
3230 if (Clfarf_nice == 1)
3232 Clfarf_na_nice = datafile_nxArray[1];
3233 Clfarf_nr_nice = datafile_ny;
3234 d_1_to_1(Clfarf_rArray_nice, datafile_yArray);
3235 for (i=1; i<=Clfarf_na_nice; i++)
3236 Clfarf_aArray_nice[i] = datafile_xArray[1][i];
3238 aeroRollParts -> storeCommands (*command_line);
3245 uiuc_warnings_errors(2, *command_line);
3255 switch(Cn_map[linetoken2])
3259 if (check_float(linetoken3))
3260 token3 >> token_value;
3262 uiuc_warnings_errors(1, *command_line);
3266 aeroYawParts -> storeCommands (*command_line);
3271 if (check_float(linetoken3))
3272 token3 >> token_value;
3274 uiuc_warnings_errors(1, *command_line);
3276 Cn_beta = token_value;
3277 Cn_beta_clean = Cn_beta;
3278 aeroYawParts -> storeCommands (*command_line);
3283 if (check_float(linetoken3))
3284 token3 >> token_value;
3286 uiuc_warnings_errors(1, *command_line);
3290 aeroYawParts -> storeCommands (*command_line);
3295 if (check_float(linetoken3))
3296 token3 >> token_value;
3298 uiuc_warnings_errors(1, *command_line);
3302 aeroYawParts -> storeCommands (*command_line);
3307 if (check_float(linetoken3))
3308 token3 >> token_value;
3310 uiuc_warnings_errors(1, *command_line);
3312 Cn_da = token_value;
3313 Cn_da_clean = Cn_da;
3314 aeroYawParts -> storeCommands (*command_line);
3319 if (check_float(linetoken3))
3320 token3 >> token_value;
3322 uiuc_warnings_errors(1, *command_line);
3324 Cn_dr = token_value;
3325 Cn_dr_clean = Cn_dr;
3326 aeroYawParts -> storeCommands (*command_line);
3331 if (check_float(linetoken3))
3332 token3 >> token_value;
3334 uiuc_warnings_errors(1, *command_line);
3338 aeroYawParts -> storeCommands (*command_line);
3343 if (check_float(linetoken3))
3344 token3 >> token_value;
3346 uiuc_warnings_errors(1, *command_line);
3348 Cn_b3 = token_value;
3349 Cn_b3_clean = Cn_b3;
3350 aeroYawParts -> storeCommands (*command_line);
3355 Cnfada = aircraft_directory + linetoken3;
3356 token4 >> token_value_convert1;
3357 token5 >> token_value_convert2;
3358 token6 >> token_value_convert3;
3359 convert_z = uiuc_convert(token_value_convert1);
3360 convert_x = uiuc_convert(token_value_convert2);
3361 convert_y = uiuc_convert(token_value_convert3);
3362 /* call 2D File Reader with file name (Cnfada) and
3363 conversion factors; function returns array of
3364 aileron deflections (daArray) and corresponding
3365 alpha (aArray) and delta Cn (CnArray) values and
3366 max number of terms in alpha arrays (nAlphaArray)
3367 and deflection array (nda) */
3368 uiuc_2DdataFileReader(Cnfada,
3374 aeroYawParts -> storeCommands (*command_line);
3377 case Cnfbetadr_flag:
3379 Cnfbetadr = aircraft_directory + linetoken3;
3380 token4 >> token_value_convert1;
3381 token5 >> token_value_convert2;
3382 token6 >> token_value_convert3;
3383 convert_z = uiuc_convert(token_value_convert1);
3384 convert_x = uiuc_convert(token_value_convert2);
3385 convert_y = uiuc_convert(token_value_convert3);
3386 /* call 2D File Reader with file name (Cnfbetadr) and
3387 conversion factors; function returns array of
3388 rudder deflections (drArray) and corresponding
3389 beta (betaArray) and delta Cn (CnArray) values and
3390 max number of terms in beta arrays (nBetaArray)
3391 and deflection array (ndr) */
3392 uiuc_2DdataFileReader(Cnfbetadr,
3393 Cnfbetadr_betaArray,
3396 Cnfbetadr_nBetaArray,
3398 aeroYawParts -> storeCommands (*command_line);
3401 case Cnfabetaf_flag:
3403 int Cnfabetaf_index, i;
3404 string Cnfabetaf_file;
3406 Cnfabetaf_file = aircraft_directory + linetoken3;
3407 token4 >> Cnfabetaf_index;
3408 if (Cnfabetaf_index < 0 || Cnfabetaf_index >= 100)
3409 uiuc_warnings_errors(1, *command_line);
3410 if (Cnfabetaf_index > Cnfabetaf_nf)
3411 Cnfabetaf_nf = Cnfabetaf_index;
3412 token5 >> flap_value;
3413 Cnfabetaf_fArray[Cnfabetaf_index] = flap_value;
3414 token6 >> token_value_convert1;
3415 token7 >> token_value_convert2;
3416 token8 >> token_value_convert3;
3417 token9 >> Cnfabetaf_nice;
3418 convert_z = uiuc_convert(token_value_convert1);
3419 convert_x = uiuc_convert(token_value_convert2);
3420 convert_y = uiuc_convert(token_value_convert3);
3421 /* call 2D File Reader with file name (Cnfabetaf_file) and
3422 conversion factors; function returns array of
3423 elevator deflections (deArray) and corresponding
3424 alpha (aArray) and delta CZ (CZArray) values and
3425 max number of terms in alpha arrays (nAlphaArray)
3426 and delfection array (nde) */
3427 uiuc_2DdataFileReader(Cnfabetaf_file,
3433 d_2_to_3(datafile_xArray, Cnfabetaf_aArray, Cnfabetaf_index);
3434 d_1_to_2(datafile_yArray, Cnfabetaf_betaArray, Cnfabetaf_index);
3435 d_2_to_3(datafile_zArray, Cnfabetaf_CnArray, Cnfabetaf_index);
3436 i_1_to_2(datafile_nxArray, Cnfabetaf_nAlphaArray, Cnfabetaf_index);
3437 Cnfabetaf_nbeta[Cnfabetaf_index] = datafile_ny;
3438 if (Cnfabetaf_first==true)
3440 if (Cnfabetaf_nice == 1)
3442 Cnfabetaf_na_nice = datafile_nxArray[1];
3443 Cnfabetaf_nb_nice = datafile_ny;
3444 d_1_to_1(Cnfabetaf_bArray_nice, datafile_yArray);
3445 for (i=1; i<=Cnfabetaf_na_nice; i++)
3446 Cnfabetaf_aArray_nice[i] = datafile_xArray[1][i];
3448 aeroYawParts -> storeCommands (*command_line);
3449 Cnfabetaf_first=false;
3455 int Cnfadaf_index, i;
3456 string Cnfadaf_file;
3458 Cnfadaf_file = aircraft_directory + linetoken3;
3459 token4 >> Cnfadaf_index;
3460 if (Cnfadaf_index < 0 || Cnfadaf_index >= 100)
3461 uiuc_warnings_errors(1, *command_line);
3462 if (Cnfadaf_index > Cnfadaf_nf)
3463 Cnfadaf_nf = Cnfadaf_index;
3464 token5 >> flap_value;
3465 Cnfadaf_fArray[Cnfadaf_index] = flap_value;
3466 token6 >> token_value_convert1;
3467 token7 >> token_value_convert2;
3468 token8 >> token_value_convert3;
3469 token9 >> Cnfadaf_nice;
3470 convert_z = uiuc_convert(token_value_convert1);
3471 convert_x = uiuc_convert(token_value_convert2);
3472 convert_y = uiuc_convert(token_value_convert3);
3473 /* call 2D File Reader with file name (Cnfadaf_file) and
3474 conversion factors; function returns array of
3475 elevator deflections (deArray) and corresponding
3476 alpha (aArray) and delta CZ (CZArray) values and
3477 max number of terms in alpha arrays (nAlphaArray)
3478 and delfection array (nde) */
3479 uiuc_2DdataFileReader(Cnfadaf_file,
3485 d_2_to_3(datafile_xArray, Cnfadaf_aArray, Cnfadaf_index);
3486 d_1_to_2(datafile_yArray, Cnfadaf_daArray, Cnfadaf_index);
3487 d_2_to_3(datafile_zArray, Cnfadaf_CnArray, Cnfadaf_index);
3488 i_1_to_2(datafile_nxArray, Cnfadaf_nAlphaArray, Cnfadaf_index);
3489 Cnfadaf_nda[Cnfadaf_index] = datafile_ny;
3490 if (Cnfadaf_first==true)
3492 if (Cnfadaf_nice == 1)
3494 Cnfadaf_na_nice = datafile_nxArray[1];
3495 Cnfadaf_nda_nice = datafile_ny;
3496 d_1_to_1(Cnfadaf_daArray_nice, datafile_yArray);
3497 for (i=1; i<=Cnfadaf_na_nice; i++)
3498 Cnfadaf_aArray_nice[i] = datafile_xArray[1][i];
3500 aeroYawParts -> storeCommands (*command_line);
3501 Cnfadaf_first=false;
3507 int Cnfadrf_index, i;
3508 string Cnfadrf_file;
3510 Cnfadrf_file = aircraft_directory + linetoken3;
3511 token4 >> Cnfadrf_index;
3512 if (Cnfadrf_index < 0 || Cnfadrf_index >= 100)
3513 uiuc_warnings_errors(1, *command_line);
3514 if (Cnfadrf_index > Cnfadrf_nf)
3515 Cnfadrf_nf = Cnfadrf_index;
3516 token5 >> flap_value;
3517 Cnfadrf_fArray[Cnfadrf_index] = flap_value;
3518 token6 >> token_value_convert1;
3519 token7 >> token_value_convert2;
3520 token8 >> token_value_convert3;
3521 token9 >> Cnfadrf_nice;
3522 convert_z = uiuc_convert(token_value_convert1);
3523 convert_x = uiuc_convert(token_value_convert2);
3524 convert_y = uiuc_convert(token_value_convert3);
3525 /* call 2D File Reader with file name (Cnfadrf_file) and
3526 conversion factors; function returns array of
3527 elevator deflections (deArray) and corresponding
3528 alpha (aArray) and delta CZ (CZArray) values and
3529 max number of terms in alpha arrays (nAlphaArray)
3530 and delfection array (nde) */
3531 uiuc_2DdataFileReader(Cnfadrf_file,
3537 d_2_to_3(datafile_xArray, Cnfadrf_aArray, Cnfadrf_index);
3538 d_1_to_2(datafile_yArray, Cnfadrf_drArray, Cnfadrf_index);
3539 d_2_to_3(datafile_zArray, Cnfadrf_CnArray, Cnfadrf_index);
3540 i_1_to_2(datafile_nxArray, Cnfadrf_nAlphaArray, Cnfadrf_index);
3541 Cnfadrf_ndr[Cnfadrf_index] = datafile_ny;
3542 if (Cnfadrf_first==true)
3544 if (Cnfadrf_nice == 1)
3546 Cnfadrf_na_nice = datafile_nxArray[1];
3547 Cnfadrf_ndr_nice = datafile_ny;
3548 d_1_to_1(Cnfadrf_drArray_nice, datafile_yArray);
3549 for (i=1; i<=Cnfadrf_na_nice; i++)
3550 Cnfadrf_aArray_nice[i] = datafile_xArray[1][i];
3552 aeroYawParts -> storeCommands (*command_line);
3553 Cnfadrf_first=false;
3559 int Cnfapf_index, i;
3562 Cnfapf_file = aircraft_directory + linetoken3;
3563 token4 >> Cnfapf_index;
3564 if (Cnfapf_index < 0 || Cnfapf_index >= 100)
3565 uiuc_warnings_errors(1, *command_line);
3566 if (Cnfapf_index > Cnfapf_nf)
3567 Cnfapf_nf = Cnfapf_index;
3568 token5 >> flap_value;
3569 Cnfapf_fArray[Cnfapf_index] = flap_value;
3570 token6 >> token_value_convert1;
3571 token7 >> token_value_convert2;
3572 token8 >> token_value_convert3;
3573 token9 >> Cnfapf_nice;
3574 convert_z = uiuc_convert(token_value_convert1);
3575 convert_x = uiuc_convert(token_value_convert2);
3576 convert_y = uiuc_convert(token_value_convert3);
3577 /* call 2D File Reader with file name (Cnfapf_file) and
3578 conversion factors; function returns array of
3579 elevator deflections (deArray) and corresponding
3580 alpha (aArray) and delta CZ (CZArray) values and
3581 max number of terms in alpha arrays (nAlphaArray)
3582 and delfection array (nde) */
3583 uiuc_2DdataFileReader(Cnfapf_file,
3589 d_2_to_3(datafile_xArray, Cnfapf_aArray, Cnfapf_index);
3590 d_1_to_2(datafile_yArray, Cnfapf_pArray, Cnfapf_index);
3591 d_2_to_3(datafile_zArray, Cnfapf_CnArray, Cnfapf_index);
3592 i_1_to_2(datafile_nxArray, Cnfapf_nAlphaArray, Cnfapf_index);
3593 Cnfapf_np[Cnfapf_index] = datafile_ny;
3594 if (Cnfapf_first==true)
3596 if (Cnfapf_nice == 1)
3598 Cnfapf_na_nice = datafile_nxArray[1];
3599 Cnfapf_np_nice = datafile_ny;
3600 d_1_to_1(Cnfapf_pArray_nice, datafile_yArray);
3601 for (i=1; i<=Cnfapf_na_nice; i++)
3602 Cnfapf_aArray_nice[i] = datafile_xArray[1][i];
3604 aeroYawParts -> storeCommands (*command_line);
3611 int Cnfarf_index, i;
3614 Cnfarf_file = aircraft_directory + linetoken3;
3615 token4 >> Cnfarf_index;
3616 if (Cnfarf_index < 0 || Cnfarf_index >= 100)
3617 uiuc_warnings_errors(1, *command_line);
3618 if (Cnfarf_index > Cnfarf_nf)
3619 Cnfarf_nf = Cnfarf_index;
3620 token5 >> flap_value;
3621 Cnfarf_fArray[Cnfarf_index] = flap_value;
3622 token6 >> token_value_convert1;
3623 token7 >> token_value_convert2;
3624 token8 >> token_value_convert3;
3625 token9 >> Cnfarf_nice;
3626 convert_z = uiuc_convert(token_value_convert1);
3627 convert_x = uiuc_convert(token_value_convert2);
3628 convert_y = uiuc_convert(token_value_convert3);
3629 /* call 2D File Reader with file name (Cnfarf_file) and
3630 conversion factors; function returns array of
3631 elevator deflections (deArray) and corresponding
3632 alpha (aArray) and delta CZ (CZArray) values and
3633 max number of terms in alpha arrays (nAlphaArray)
3634 and delfection array (nde) */
3635 uiuc_2DdataFileReader(Cnfarf_file,
3641 d_2_to_3(datafile_xArray, Cnfarf_aArray, Cnfarf_index);
3642 d_1_to_2(datafile_yArray, Cnfarf_rArray, Cnfarf_index);
3643 d_2_to_3(datafile_zArray, Cnfarf_CnArray, Cnfarf_index);
3644 i_1_to_2(datafile_nxArray, Cnfarf_nAlphaArray, Cnfarf_index);
3645 Cnfarf_nr[Cnfarf_index] = datafile_ny;
3646 if (Cnfarf_first==true)
3648 if (Cnfarf_nice == 1)
3650 Cnfarf_na_nice = datafile_nxArray[1];
3651 Cnfarf_nr_nice = datafile_ny;
3652 d_1_to_1(Cnfarf_rArray_nice, datafile_yArray);
3653 for (i=1; i<=Cnfarf_na_nice; i++)
3654 Cnfarf_aArray_nice[i] = datafile_xArray[1][i];
3656 aeroYawParts -> storeCommands (*command_line);
3663 uiuc_warnings_errors(2, *command_line);
3675 if (index < 0 || index >= 16)
3676 uiuc_warnings_errors(1, *command_line);
3677 switch(gear_map[linetoken2])
3681 if (check_float(linetoken3))
3682 token4 >> token_value;
3684 uiuc_warnings_errors(1, *command_line);
3685 D_gear_v[index][0] = token_value;
3686 gear_model[index] = true;
3691 if (check_float(linetoken3))
3692 token4 >> token_value;
3694 uiuc_warnings_errors(1, *command_line);
3695 D_gear_v[index][1] = token_value;
3696 gear_model[index] = true;
3701 if (check_float(linetoken3))
3702 token4 >> token_value;
3704 uiuc_warnings_errors(1, *command_line);
3705 D_gear_v[index][2] = token_value;
3706 gear_model[index] = true;
3711 if (check_float(linetoken3))
3712 token4 >> token_value;
3714 uiuc_warnings_errors(1, *command_line);
3715 cgear[index] = token_value;
3716 gear_model[index] = true;
3721 if (check_float(linetoken3))
3722 token4 >> token_value;
3724 uiuc_warnings_errors(1, *command_line);
3725 kgear[index] = token_value;
3726 gear_model[index] = true;
3731 if (check_float(linetoken3))
3732 token4 >> token_value;
3734 uiuc_warnings_errors(1, *command_line);
3735 muGear[index] = token_value;
3736 gear_model[index] = true;
3739 case strutLength_flag:
3741 if (check_float(linetoken3))
3742 token4 >> token_value;
3744 uiuc_warnings_errors(1, *command_line);
3745 strutLength[index] = token_value;
3746 gear_model[index] = true;
3751 uiuc_warnings_errors(2, *command_line);
3761 switch(ice_map[linetoken2])
3765 if (check_float(linetoken3))
3766 token3 >> token_value;
3769 uiuc_warnings_errors(1, *command_line);
3772 iceTime = token_value;
3775 case transientTime_flag:
3777 if (check_float(linetoken3))
3778 token3 >> token_value;
3780 uiuc_warnings_errors(1, *command_line);
3782 transientTime = token_value;
3785 case eta_ice_final_flag:
3787 if (check_float(linetoken3))
3788 token3 >> token_value;
3790 uiuc_warnings_errors(1, *command_line);
3792 eta_ice_final = token_value;
3795 case beta_probe_wing_flag:
3797 if (check_float(linetoken3))
3798 token3 >> token_value;
3800 uiuc_warnings_errors(1, *command_line);
3803 x_probe_wing = token_value;
3806 case beta_probe_tail_flag:
3808 if (check_float(linetoken3))
3809 token3 >> token_value;
3811 uiuc_warnings_errors(1, *command_line);
3814 x_probe_tail = token_value;
3819 if (check_float(linetoken3))
3820 token3 >> token_value;
3822 uiuc_warnings_errors(1, *command_line);
3829 if (check_float(linetoken3))
3830 token3 >> token_value;
3832 uiuc_warnings_errors(1, *command_line);
3839 if (check_float(linetoken3))
3840 token3 >> token_value;
3842 uiuc_warnings_errors(1, *command_line);
3844 kCD_a = token_value;
3849 if (check_float(linetoken3))
3850 token3 >> token_value;
3852 uiuc_warnings_errors(1, *command_line);
3854 kCD_adot = token_value;
3859 if (check_float(linetoken3))
3860 token3 >> token_value;
3862 uiuc_warnings_errors(1, *command_line);
3864 kCD_q = token_value;
3869 if (check_float(linetoken3))
3870 token3 >> token_value;
3872 uiuc_warnings_errors(1, *command_line);
3874 kCD_de = token_value;
3879 if (check_float(linetoken3))
3880 token3 >> token_value;
3882 uiuc_warnings_errors(1, *command_line);
3889 if (check_float(linetoken3))
3890 token3 >> token_value;
3892 uiuc_warnings_errors(1, *command_line);
3899 if (check_float(linetoken3))
3900 token3 >> token_value;
3902 uiuc_warnings_errors(1, *command_line);
3904 kCX_a = token_value;
3909 if (check_float(linetoken3))
3910 token3 >> token_value;
3912 uiuc_warnings_errors(1, *command_line);
3914 kCX_a2 = token_value;
3919 if (check_float(linetoken3))
3920 token3 >> token_value;
3922 uiuc_warnings_errors(1, *command_line);
3924 kCX_a3 = token_value;
3929 if (check_float(linetoken3))
3930 token3 >> token_value;
3932 uiuc_warnings_errors(1, *command_line);
3934 kCX_adot = token_value;
3939 if (check_float(linetoken3))
3940 token3 >> token_value;
3942 uiuc_warnings_errors(1, *command_line);
3944 kCX_q = token_value;
3949 if (check_float(linetoken3))
3950 token3 >> token_value;
3952 uiuc_warnings_errors(1, *command_line);
3954 kCX_de = token_value;
3959 if (check_float(linetoken3))
3960 token3 >> token_value;
3962 uiuc_warnings_errors(1, *command_line);
3964 kCX_dr = token_value;
3969 if (check_float(linetoken3))
3970 token3 >> token_value;
3972 uiuc_warnings_errors(1, *command_line);
3974 kCX_df = token_value;
3979 if (check_float(linetoken3))
3980 token3 >> token_value;
3982 uiuc_warnings_errors(1, *command_line);
3984 kCX_adf = token_value;
3989 if (check_float(linetoken3))
3990 token3 >> token_value;
3992 uiuc_warnings_errors(1, *command_line);
3999 if (check_float(linetoken3))
4000 token3 >> token_value;
4002 uiuc_warnings_errors(1, *command_line);
4004 kCL_a = token_value;
4009 if (check_float(linetoken3))
4010 token3 >> token_value;
4012 uiuc_warnings_errors(1, *command_line);
4014 kCL_adot = token_value;
4019 if (check_float(linetoken3))
4020 token3 >> token_value;
4022 uiuc_warnings_errors(1, *command_line);
4024 kCL_q = token_value;
4029 if (check_float(linetoken3))
4030 token3 >> token_value;
4032 uiuc_warnings_errors(1, *command_line);
4034 kCL_de = token_value;
4039 if (check_float(linetoken3))
4040 token3 >> token_value;
4042 uiuc_warnings_errors(1, *command_line);
4049 if (check_float(linetoken3))
4050 token3 >> token_value;
4052 uiuc_warnings_errors(1, *command_line);
4054 kCZ_a = token_value;
4059 if (check_float(linetoken3))
4060 token3 >> token_value;
4062 uiuc_warnings_errors(1, *command_line);
4064 kCZ_a2 = token_value;
4069 if (check_float(linetoken3))
4070 token3 >> token_value;
4072 uiuc_warnings_errors(1, *command_line);
4074 kCZ_a3 = token_value;
4079 if (check_float(linetoken3))
4080 token3 >> token_value;
4082 uiuc_warnings_errors(1, *command_line);
4084 kCZ_adot = token_value;
4089 if (check_float(linetoken3))
4090 token3 >> token_value;
4092 uiuc_warnings_errors(1, *command_line);
4094 kCZ_q = token_value;
4099 if (check_float(linetoken3))
4100 token3 >> token_value;
4102 uiuc_warnings_errors(1, *command_line);
4104 kCZ_de = token_value;
4109 if (check_float(linetoken3))
4110 token3 >> token_value;
4112 uiuc_warnings_errors(1, *command_line);
4114 kCZ_deb2 = token_value;
4119 if (check_float(linetoken3))
4120 token3 >> token_value;
4122 uiuc_warnings_errors(1, *command_line);
4124 kCZ_df = token_value;
4129 if (check_float(linetoken3))
4130 token3 >> token_value;
4132 uiuc_warnings_errors(1, *command_line);
4134 kCZ_adf = token_value;
4139 if (check_float(linetoken3))
4140 token3 >> token_value;
4142 uiuc_warnings_errors(1, *command_line);
4149 if (check_float(linetoken3))
4150 token3 >> token_value;
4152 uiuc_warnings_errors(1, *command_line);
4154 kCm_a = token_value;
4159 if (check_float(linetoken3))
4160 token3 >> token_value;
4162 uiuc_warnings_errors(1, *command_line);
4164 kCm_a2 = token_value;
4169 if (check_float(linetoken3))
4170 token3 >> token_value;
4172 uiuc_warnings_errors(1, *command_line);
4174 kCm_adot = token_value;
4179 if (check_float(linetoken3))
4180 token3 >> token_value;
4182 uiuc_warnings_errors(1, *command_line);
4184 kCm_q = token_value;
4189 if (check_float(linetoken3))
4190 token3 >> token_value;
4192 uiuc_warnings_errors(1, *command_line);
4194 kCm_de = token_value;
4199 if (check_float(linetoken3))
4200 token3 >> token_value;
4202 uiuc_warnings_errors(1, *command_line);
4204 kCm_b2 = token_value;
4209 if (check_float(linetoken3))
4210 token3 >> token_value;
4212 uiuc_warnings_errors(1, *command_line);
4214 kCm_r = token_value;
4219 if (check_float(linetoken3))
4220 token3 >> token_value;
4222 uiuc_warnings_errors(1, *command_line);
4224 kCm_df = token_value;
4229 if (check_float(linetoken3))
4230 token3 >> token_value;
4232 uiuc_warnings_errors(1, *command_line);
4239 if (check_float(linetoken3))
4240 token3 >> token_value;
4242 uiuc_warnings_errors(1, *command_line);
4244 kCY_beta = token_value;
4249 if (check_float(linetoken3))
4250 token3 >> token_value;
4252 uiuc_warnings_errors(1, *command_line);
4254 kCY_p = token_value;
4259 if (check_float(linetoken3))
4260 token3 >> token_value;
4262 uiuc_warnings_errors(1, *command_line);
4264 kCY_r = token_value;
4269 if (check_float(linetoken3))
4270 token3 >> token_value;
4272 uiuc_warnings_errors(1, *command_line);
4274 kCY_da = token_value;
4279 if (check_float(linetoken3))
4280 token3 >> token_value;
4282 uiuc_warnings_errors(1, *command_line);
4284 kCY_dr = token_value;
4289 if (check_float(linetoken3))
4290 token3 >> token_value;
4292 uiuc_warnings_errors(1, *command_line);
4294 kCY_dra = token_value;
4299 if (check_float(linetoken3))
4300 token3 >> token_value;
4302 uiuc_warnings_errors(1, *command_line);
4304 kCY_bdot = token_value;
4309 if (check_float(linetoken3))
4310 token3 >> token_value;
4312 uiuc_warnings_errors(1, *command_line);
4319 if (check_float(linetoken3))
4320 token3 >> token_value;
4322 uiuc_warnings_errors(1, *command_line);
4324 kCl_beta = token_value;
4329 if (check_float(linetoken3))
4330 token3 >> token_value;
4332 uiuc_warnings_errors(1, *command_line);
4334 kCl_p = token_value;
4339 if (check_float(linetoken3))
4340 token3 >> token_value;
4342 uiuc_warnings_errors(1, *command_line);
4344 kCl_r = token_value;
4349 if (check_float(linetoken3))
4350 token3 >> token_value;
4352 uiuc_warnings_errors(1, *command_line);
4354 kCl_da = token_value;
4359 if (check_float(linetoken3))
4360 token3 >> token_value;
4362 uiuc_warnings_errors(1, *command_line);
4364 kCl_dr = token_value;
4369 if (check_float(linetoken3))
4370 token3 >> token_value;
4372 uiuc_warnings_errors(1, *command_line);
4374 kCl_daa = token_value;
4379 if (check_float(linetoken3))
4380 token3 >> token_value;
4382 uiuc_warnings_errors(1, *command_line);
4389 if (check_float(linetoken3))
4390 token3 >> token_value;
4392 uiuc_warnings_errors(1, *command_line);
4394 kCn_beta = token_value;
4399 if (check_float(linetoken3))
4400 token3 >> token_value;
4402 uiuc_warnings_errors(1, *command_line);
4404 kCn_p = token_value;
4409 if (check_float(linetoken3))
4410 token3 >> token_value;
4412 uiuc_warnings_errors(1, *command_line);
4414 kCn_r = token_value;
4419 if (check_float(linetoken3))
4420 token3 >> token_value;
4422 uiuc_warnings_errors(1, *command_line);
4424 kCn_da = token_value;
4429 if (check_float(linetoken3))
4430 token3 >> token_value;
4432 uiuc_warnings_errors(1, *command_line);
4434 kCn_dr = token_value;
4439 if (check_float(linetoken3))
4440 token3 >> token_value;
4442 uiuc_warnings_errors(1, *command_line);
4444 kCn_q = token_value;
4449 if (check_float(linetoken3))
4450 token3 >> token_value;
4452 uiuc_warnings_errors(1, *command_line);
4454 kCn_b3 = token_value;
4459 uiuc_warnings_errors(2, *command_line);
4469 switch(fog_map[linetoken2])
4471 case fog_segments_flag:
4473 if (check_float(linetoken3))
4474 token3 >> token_value_convert1;
4476 uiuc_warnings_errors(1, *command_line);
4478 if (token_value_convert1 < 1 || token_value_convert1 > 100)
4479 uiuc_warnings_errors(1, *command_line);
4482 fog_point_index = 0;
4485 fog_segments = token_value_convert1;
4486 fog_time = new double[fog_segments+1];
4488 fog_value = new int[fog_segments+1];
4493 case fog_point_flag:
4495 if (check_float(linetoken3))
4496 token3 >> token_value;
4498 uiuc_warnings_errors(1, *command_line);
4500 if (token_value < 0.1)
4501 uiuc_warnings_errors(1, *command_line);
4503 if (check_float(linetoken4))
4504 token4 >> token_value_convert1;
4506 uiuc_warnings_errors(1, *command_line);
4508 if (token_value_convert1 < -1000 || token_value_convert1 > 1000)
4509 uiuc_warnings_errors(1, *command_line);
4511 if (fog_point_index == fog_segments || fog_point_index == -1)
4512 uiuc_warnings_errors(1, *command_line);
4515 fog_time[fog_point_index] = token_value;
4516 fog_value[fog_point_index] = token_value_convert1;
4522 uiuc_warnings_errors(2, *command_line);
4536 static int fout_flag=0;
4540 fout.open("uiuc_record.dat");
4542 switch(record_map[linetoken2])
4544 /************************* Time ************************/
4545 case Simtime_record:
4547 recordParts -> storeCommands (*command_line);
4552 recordParts -> storeCommands (*command_line);
4556 /************************* Mass ************************/
4559 recordParts -> storeCommands (*command_line);
4564 recordParts -> storeCommands (*command_line);
4569 recordParts -> storeCommands (*command_line);
4574 recordParts -> storeCommands (*command_line);
4579 recordParts -> storeCommands (*command_line);
4584 recordParts -> storeCommands (*command_line);
4588 /*********************** Geometry **********************/
4589 case Dx_pilot_record:
4591 recordParts -> storeCommands (*command_line);
4594 case Dy_pilot_record:
4596 recordParts -> storeCommands (*command_line);
4599 case Dz_pilot_record:
4601 recordParts -> storeCommands (*command_line);
4606 recordParts -> storeCommands (*command_line);
4611 recordParts -> storeCommands (*command_line);
4616 recordParts -> storeCommands (*command_line);
4620 /********************** Positions **********************/
4621 case Lat_geocentric_record:
4623 recordParts -> storeCommands (*command_line);
4626 case Lon_geocentric_record:
4628 recordParts -> storeCommands (*command_line);
4631 case Radius_to_vehicle_record:
4633 recordParts -> storeCommands (*command_line);
4636 case Latitude_record:
4638 recordParts -> storeCommands (*command_line);
4641 case Longitude_record:
4643 recordParts -> storeCommands (*command_line);
4646 case Altitude_record:
4648 recordParts -> storeCommands (*command_line);
4653 recordParts -> storeCommands (*command_line);
4658 recordParts -> storeCommands (*command_line);
4663 recordParts -> storeCommands (*command_line);
4667 /******************** Accelerations ********************/
4668 case V_dot_north_record:
4670 recordParts -> storeCommands (*command_line);
4673 case V_dot_east_record:
4675 recordParts -> storeCommands (*command_line);
4678 case V_dot_down_record:
4680 recordParts -> storeCommands (*command_line);
4683 case U_dot_body_record:
4685 recordParts -> storeCommands (*command_line);
4688 case V_dot_body_record:
4690 recordParts -> storeCommands (*command_line);
4693 case W_dot_body_record:
4695 recordParts -> storeCommands (*command_line);
4698 case A_X_pilot_record:
4700 recordParts -> storeCommands (*command_line);
4703 case A_Y_pilot_record:
4705 recordParts -> storeCommands (*command_line);
4708 case A_Z_pilot_record:
4710 recordParts -> storeCommands (*command_line);
4715 recordParts -> storeCommands (*command_line);
4720 recordParts -> storeCommands (*command_line);
4725 recordParts -> storeCommands (*command_line);
4728 case N_X_pilot_record:
4730 recordParts -> storeCommands (*command_line);
4733 case N_Y_pilot_record:
4735 recordParts -> storeCommands (*command_line);
4738 case N_Z_pilot_record:
4740 recordParts -> storeCommands (*command_line);
4745 recordParts -> storeCommands (*command_line);
4750 recordParts -> storeCommands (*command_line);
4755 recordParts -> storeCommands (*command_line);
4758 case P_dot_body_record:
4760 recordParts -> storeCommands (*command_line);
4763 case Q_dot_body_record:
4765 recordParts -> storeCommands (*command_line);
4768 case R_dot_body_record:
4770 recordParts -> storeCommands (*command_line);
4774 /********************** Velocities *********************/
4775 case V_north_record:
4777 recordParts -> storeCommands (*command_line);
4782 recordParts -> storeCommands (*command_line);
4787 recordParts -> storeCommands (*command_line);
4790 case V_north_rel_ground_record:
4792 recordParts -> storeCommands (*command_line);
4795 case V_east_rel_ground_record:
4797 recordParts -> storeCommands (*command_line);
4800 case V_down_rel_ground_record:
4802 recordParts -> storeCommands (*command_line);
4805 case V_north_airmass_record:
4807 recordParts -> storeCommands (*command_line);
4810 case V_east_airmass_record:
4812 recordParts -> storeCommands (*command_line);
4815 case V_down_airmass_record:
4817 recordParts -> storeCommands (*command_line);
4820 case V_north_rel_airmass_record:
4822 recordParts -> storeCommands (*command_line);
4825 case V_east_rel_airmass_record:
4827 recordParts -> storeCommands (*command_line);
4830 case V_down_rel_airmass_record:
4832 recordParts -> storeCommands (*command_line);
4837 recordParts -> storeCommands (*command_line);
4842 recordParts -> storeCommands (*command_line);
4847 recordParts -> storeCommands (*command_line);
4852 recordParts -> storeCommands (*command_line);
4857 recordParts -> storeCommands (*command_line);
4862 recordParts -> storeCommands (*command_line);
4865 case V_rel_wind_record:
4867 recordParts -> storeCommands (*command_line);
4870 case V_true_kts_record:
4872 recordParts -> storeCommands (*command_line);
4875 case V_rel_ground_record:
4877 recordParts -> storeCommands (*command_line);
4880 case V_inertial_record:
4882 recordParts -> storeCommands (*command_line);
4885 case V_ground_speed_record:
4887 recordParts -> storeCommands (*command_line);
4890 case V_equiv_record:
4892 recordParts -> storeCommands (*command_line);
4895 case V_equiv_kts_record:
4897 recordParts -> storeCommands (*command_line);
4900 case V_calibrated_record:
4902 recordParts -> storeCommands (*command_line);
4905 case V_calibrated_kts_record:
4907 recordParts -> storeCommands (*command_line);
4910 case P_local_record:
4912 recordParts -> storeCommands (*command_line);
4915 case Q_local_record:
4917 recordParts -> storeCommands (*command_line);
4920 case R_local_record:
4922 recordParts -> storeCommands (*command_line);
4927 recordParts -> storeCommands (*command_line);
4932 recordParts -> storeCommands (*command_line);
4937 recordParts -> storeCommands (*command_line);
4940 case P_total_record:
4942 recordParts -> storeCommands (*command_line);
4945 case Q_total_record:
4947 recordParts -> storeCommands (*command_line);
4950 case R_total_record:
4952 recordParts -> storeCommands (*command_line);
4955 case Phi_dot_record:
4957 recordParts -> storeCommands (*command_line);
4960 case Theta_dot_record:
4962 recordParts -> storeCommands (*command_line);
4965 case Psi_dot_record:
4967 recordParts -> storeCommands (*command_line);
4970 case Latitude_dot_record:
4972 recordParts -> storeCommands (*command_line);
4975 case Longitude_dot_record:
4977 recordParts -> storeCommands (*command_line);
4980 case Radius_dot_record:
4982 recordParts -> storeCommands (*command_line);
4986 /************************ Angles ***********************/
4989 recordParts -> storeCommands (*command_line);
4992 case Alpha_deg_record:
4994 recordParts -> storeCommands (*command_line);
4997 case Alpha_dot_record:
4999 recordParts -> storeCommands (*command_line);
5002 case Alpha_dot_deg_record:
5004 recordParts -> storeCommands (*command_line);
5009 recordParts -> storeCommands (*command_line);
5012 case Beta_deg_record:
5014 recordParts -> storeCommands (*command_line);
5017 case Beta_dot_record:
5019 recordParts -> storeCommands (*command_line);
5022 case Beta_dot_deg_record:
5024 recordParts -> storeCommands (*command_line);
5027 case Gamma_vert_record:
5029 recordParts -> storeCommands (*command_line);
5032 case Gamma_vert_deg_record:
5034 recordParts -> storeCommands (*command_line);
5037 case Gamma_horiz_record:
5039 recordParts -> storeCommands (*command_line);
5042 case Gamma_horiz_deg_record:
5044 recordParts -> storeCommands (*command_line);
5048 /**************** Atmospheric Properties ***************/
5049 case Density_record:
5051 recordParts -> storeCommands (*command_line);
5054 case V_sound_record:
5056 recordParts -> storeCommands (*command_line);
5059 case Mach_number_record:
5061 recordParts -> storeCommands (*command_line);
5064 case Static_pressure_record:
5066 recordParts -> storeCommands (*command_line);
5069 case Total_pressure_record:
5071 recordParts -> storeCommands (*command_line);
5074 case Impact_pressure_record:
5076 recordParts -> storeCommands (*command_line);
5079 case Dynamic_pressure_record:
5081 recordParts -> storeCommands (*command_line);
5084 case Static_temperature_record:
5086 recordParts -> storeCommands (*command_line);
5089 case Total_temperature_record:
5091 recordParts -> storeCommands (*command_line);
5095 /******************** Earth Properties *****************/
5096 case Gravity_record:
5098 recordParts -> storeCommands (*command_line);
5101 case Sea_level_radius_record:
5103 recordParts -> storeCommands (*command_line);
5106 case Earth_position_angle_record:
5108 recordParts -> storeCommands (*command_line);
5111 case Runway_altitude_record:
5113 recordParts -> storeCommands (*command_line);
5116 case Runway_latitude_record:
5118 recordParts -> storeCommands (*command_line);
5121 case Runway_longitude_record:
5123 recordParts -> storeCommands (*command_line);
5126 case Runway_heading_record:
5128 recordParts -> storeCommands (*command_line);
5131 case Radius_to_rwy_record:
5133 recordParts -> storeCommands (*command_line);
5136 case D_pilot_north_of_rwy_record:
5138 recordParts -> storeCommands (*command_line);
5141 case D_pilot_east_of_rwy_record:
5143 recordParts -> storeCommands (*command_line);
5146 case D_pilot_above_rwy_record:
5148 recordParts -> storeCommands (*command_line);
5151 case X_pilot_rwy_record:
5153 recordParts -> storeCommands (*command_line);
5156 case Y_pilot_rwy_record:
5158 recordParts -> storeCommands (*command_line);
5161 case H_pilot_rwy_record:
5163 recordParts -> storeCommands (*command_line);
5166 case D_cg_north_of_rwy_record:
5168 recordParts -> storeCommands (*command_line);
5171 case D_cg_east_of_rwy_record:
5173 recordParts -> storeCommands (*command_line);
5176 case D_cg_above_rwy_record:
5178 recordParts -> storeCommands (*command_line);
5181 case X_cg_rwy_record:
5183 recordParts -> storeCommands (*command_line);
5186 case Y_cg_rwy_record:
5188 recordParts -> storeCommands (*command_line);
5191 case H_cg_rwy_record:
5193 recordParts -> storeCommands (*command_line);
5197 /********************* Engine Inputs *******************/
5198 case Throttle_pct_record:
5200 recordParts -> storeCommands (*command_line);
5203 case Throttle_3_record:
5205 recordParts -> storeCommands (*command_line);
5209 /******************** Control Inputs *******************/
5210 case Long_control_record:
5212 recordParts -> storeCommands (*command_line);
5215 case Long_trim_record:
5217 recordParts -> storeCommands (*command_line);
5220 case Long_trim_deg_record:
5222 recordParts -> storeCommands (*command_line);
5225 case elevator_record:
5227 recordParts -> storeCommands (*command_line);
5230 case elevator_deg_record:
5232 recordParts -> storeCommands (*command_line);
5235 case Lat_control_record:
5237 recordParts -> storeCommands (*command_line);
5240 case aileron_record:
5242 recordParts -> storeCommands (*command_line);
5245 case aileron_deg_record:
5247 recordParts -> storeCommands (*command_line);
5250 case Rudder_pedal_record:
5252 recordParts -> storeCommands (*command_line);
5257 recordParts -> storeCommands (*command_line);
5260 case rudder_deg_record:
5262 recordParts -> storeCommands (*command_line);
5265 case Flap_handle_record:
5267 recordParts -> storeCommands (*command_line);
5272 recordParts -> storeCommands (*command_line);
5275 case flap_deg_record:
5277 recordParts -> storeCommands (*command_line);
5280 case flap_goal_record:
5282 recordParts -> storeCommands (*command_line);
5285 case flap_pos_record:
5287 recordParts -> storeCommands (*command_line);
5291 /****************** Aero Coefficients ******************/
5294 recordParts -> storeCommands (*command_line);
5299 recordParts -> storeCommands (*command_line);
5302 case CDfadeI_record:
5304 recordParts -> storeCommands (*command_line);
5309 recordParts -> storeCommands (*command_line);
5312 case CDfadfI_record:
5314 recordParts -> storeCommands (*command_line);
5319 recordParts -> storeCommands (*command_line);
5322 case CXfabetafI_record:
5324 recordParts -> storeCommands (*command_line);
5327 case CXfadefI_record:
5329 recordParts -> storeCommands (*command_line);
5332 case CXfaqfI_record:
5334 recordParts -> storeCommands (*command_line);
5337 case CDo_save_record:
5339 recordParts -> storeCommands (*command_line);
5342 case CDK_save_record:
5344 recordParts -> storeCommands (*command_line);
5347 case CD_a_save_record:
5349 recordParts -> storeCommands (*command_line);
5352 case CD_adot_save_record:
5354 recordParts -> storeCommands (*command_line);
5357 case CD_q_save_record:
5359 recordParts -> storeCommands (*command_line);
5362 case CD_ih_save_record:
5364 recordParts -> storeCommands (*command_line);
5367 case CD_de_save_record:
5369 recordParts -> storeCommands (*command_line);
5372 case CXo_save_record:
5374 recordParts -> storeCommands (*command_line);
5377 case CXK_save_record:
5379 recordParts -> storeCommands (*command_line);
5382 case CX_a_save_record:
5384 recordParts -> storeCommands (*command_line);
5387 case CX_a2_save_record:
5389 recordParts -> storeCommands (*command_line);
5392 case CX_a3_save_record:
5394 recordParts -> storeCommands (*command_line);
5397 case CX_adot_save_record:
5399 recordParts -> storeCommands (*command_line);
5402 case CX_q_save_record:
5404 recordParts -> storeCommands (*command_line);
5407 case CX_de_save_record:
5409 recordParts -> storeCommands (*command_line);
5412 case CX_dr_save_record:
5414 recordParts -> storeCommands (*command_line);
5417 case CX_df_save_record:
5419 recordParts -> storeCommands (*command_line);
5422 case CX_adf_save_record:
5424 recordParts -> storeCommands (*command_line);
5429 recordParts -> storeCommands (*command_line);
5434 recordParts -> storeCommands (*command_line);
5437 case CLfadeI_record:
5439 recordParts -> storeCommands (*command_line);
5444 recordParts -> storeCommands (*command_line);
5447 case CLfadfI_record:
5449 recordParts -> storeCommands (*command_line);
5454 recordParts -> storeCommands (*command_line);
5459 recordParts -> storeCommands (*command_line);
5462 case CZfabetafI_record:
5464 recordParts -> storeCommands (*command_line);
5467 case CZfadefI_record:
5469 recordParts -> storeCommands (*command_line);
5472 case CZfaqfI_record:
5474 recordParts -> storeCommands (*command_line);
5477 case CLo_save_record:
5479 recordParts -> storeCommands (*command_line);
5482 case CL_a_save_record:
5484 recordParts -> storeCommands (*command_line);
5487 case CL_adot_save_record:
5489 recordParts -> storeCommands (*command_line);
5492 case CL_q_save_record:
5494 recordParts -> storeCommands (*command_line);
5497 case CL_ih_save_record:
5499 recordParts -> storeCommands (*command_line);
5502 case CL_de_save_record:
5504 recordParts -> storeCommands (*command_line);
5507 case CZo_save_record:
5509 recordParts -> storeCommands (*command_line);
5512 case CZ_a_save_record:
5514 recordParts -> storeCommands (*command_line);
5517 case CZ_a2_save_record:
5519 recordParts -> storeCommands (*command_line);
5522 case CZ_a3_save_record:
5524 recordParts -> storeCommands (*command_line);
5527 case CZ_adot_save_record:
5529 recordParts -> storeCommands (*command_line);
5532 case CZ_q_save_record:
5534 recordParts -> storeCommands (*command_line);
5537 case CZ_de_save_record:
5539 recordParts -> storeCommands (*command_line);
5542 case CZ_deb2_save_record:
5544 recordParts -> storeCommands (*command_line);
5547 case CZ_df_save_record:
5549 recordParts -> storeCommands (*command_line);
5552 case CZ_adf_save_record:
5554 recordParts -> storeCommands (*command_line);
5559 recordParts -> storeCommands (*command_line);
5564 recordParts -> storeCommands (*command_line);
5567 case CmfadeI_record:
5569 recordParts -> storeCommands (*command_line);
5574 recordParts -> storeCommands (*command_line);
5577 case CmfadfI_record:
5579 recordParts -> storeCommands (*command_line);
5582 case CmfabetafI_record:
5584 recordParts -> storeCommands (*command_line);
5587 case CmfadefI_record:
5589 recordParts -> storeCommands (*command_line);
5592 case CmfaqfI_record:
5594 recordParts -> storeCommands (*command_line);
5597 case Cmo_save_record:
5599 recordParts -> storeCommands (*command_line);
5602 case Cm_a_save_record:
5604 recordParts -> storeCommands (*command_line);
5607 case Cm_a2_save_record:
5609 recordParts -> storeCommands (*command_line);
5612 case Cm_adot_save_record:
5614 recordParts -> storeCommands (*command_line);
5617 case Cm_q_save_record:
5619 recordParts -> storeCommands (*command_line);
5622 case Cm_ih_save_record:
5624 recordParts -> storeCommands (*command_line);
5627 case Cm_de_save_record:
5629 recordParts -> storeCommands (*command_line);
5632 case Cm_b2_save_record:
5634 recordParts -> storeCommands (*command_line);
5637 case Cm_r_save_record:
5639 recordParts -> storeCommands (*command_line);
5642 case Cm_df_save_record:
5644 recordParts -> storeCommands (*command_line);
5649 recordParts -> storeCommands (*command_line);
5652 case CYfadaI_record:
5654 recordParts -> storeCommands (*command_line);
5657 case CYfbetadrI_record:
5659 recordParts -> storeCommands (*command_line);
5662 case CYfabetafI_record:
5664 recordParts -> storeCommands (*command_line);
5667 case CYfadafI_record:
5669 recordParts -> storeCommands (*command_line);
5672 case CYfadrfI_record:
5674 recordParts -> storeCommands (*command_line);
5677 case CYfapfI_record:
5679 recordParts -> storeCommands (*command_line);
5682 case CYfarfI_record:
5684 recordParts -> storeCommands (*command_line);
5687 case CYo_save_record:
5689 recordParts -> storeCommands (*command_line);
5692 case CY_beta_save_record:
5694 recordParts -> storeCommands (*command_line);
5697 case CY_p_save_record:
5699 recordParts -> storeCommands (*command_line);
5702 case CY_r_save_record:
5704 recordParts -> storeCommands (*command_line);
5707 case CY_da_save_record:
5709 recordParts -> storeCommands (*command_line);
5712 case CY_dr_save_record:
5714 recordParts -> storeCommands (*command_line);
5717 case CY_dra_save_record:
5719 recordParts -> storeCommands (*command_line);
5722 case CY_bdot_save_record:
5724 recordParts -> storeCommands (*command_line);
5729 recordParts -> storeCommands (*command_line);
5732 case ClfadaI_record:
5734 recordParts -> storeCommands (*command_line);
5737 case ClfbetadrI_record:
5739 recordParts -> storeCommands (*command_line);
5742 case ClfabetafI_record:
5744 recordParts -> storeCommands (*command_line);
5747 case ClfadafI_record:
5749 recordParts -> storeCommands (*command_line);
5752 case ClfadrfI_record:
5754 recordParts -> storeCommands (*command_line);
5757 case ClfapfI_record:
5759 recordParts -> storeCommands (*command_line);
5762 case ClfarfI_record:
5764 recordParts -> storeCommands (*command_line);
5767 case Clo_save_record:
5769 recordParts -> storeCommands (*command_line);
5772 case Cl_beta_save_record:
5774 recordParts -> storeCommands (*command_line);
5777 case Cl_p_save_record:
5779 recordParts -> storeCommands (*command_line);
5782 case Cl_r_save_record:
5784 recordParts -> storeCommands (*command_line);
5787 case Cl_da_save_record:
5789 recordParts -> storeCommands (*command_line);
5792 case Cl_dr_save_record:
5794 recordParts -> storeCommands (*command_line);
5797 case Cl_daa_save_record:
5799 recordParts -> storeCommands (*command_line);
5804 recordParts -> storeCommands (*command_line);
5807 case CnfadaI_record:
5809 recordParts -> storeCommands (*command_line);
5812 case CnfbetadrI_record:
5814 recordParts -> storeCommands (*command_line);
5817 case CnfabetafI_record:
5819 recordParts -> storeCommands (*command_line);
5822 case CnfadafI_record:
5824 recordParts -> storeCommands (*command_line);
5827 case CnfadrfI_record:
5829 recordParts -> storeCommands (*command_line);
5832 case CnfapfI_record:
5834 recordParts -> storeCommands (*command_line);
5837 case CnfarfI_record:
5839 recordParts -> storeCommands (*command_line);
5842 case Cno_save_record:
5844 recordParts -> storeCommands (*command_line);
5847 case Cn_beta_save_record:
5849 recordParts -> storeCommands (*command_line);
5852 case Cn_p_save_record:
5854 recordParts -> storeCommands (*command_line);
5857 case Cn_r_save_record:
5859 recordParts -> storeCommands (*command_line);
5862 case Cn_da_save_record:
5864 recordParts -> storeCommands (*command_line);
5867 case Cn_dr_save_record:
5869 recordParts -> storeCommands (*command_line);
5872 case Cn_q_save_record:
5874 recordParts -> storeCommands (*command_line);
5877 case Cn_b3_save_record:
5879 recordParts -> storeCommands (*command_line);
5883 /******************** Ice Detection ********************/
5884 case CLclean_wing_record:
5886 recordParts -> storeCommands (*command_line);
5889 case CLiced_wing_record:
5891 recordParts -> storeCommands (*command_line);
5894 case CLclean_tail_record:
5896 recordParts -> storeCommands (*command_line);
5899 case CLiced_tail_record:
5901 recordParts -> storeCommands (*command_line);
5904 case Lift_clean_wing_record:
5906 recordParts -> storeCommands (*command_line);
5909 case Lift_iced_wing_record:
5911 recordParts -> storeCommands (*command_line);
5914 case Lift_clean_tail_record:
5916 recordParts -> storeCommands (*command_line);
5919 case Lift_iced_tail_record:
5921 recordParts -> storeCommands (*command_line);
5924 case Gamma_clean_wing_record:
5926 recordParts -> storeCommands (*command_line);
5929 case Gamma_iced_wing_record:
5931 recordParts -> storeCommands (*command_line);
5934 case Gamma_clean_tail_record:
5936 recordParts -> storeCommands (*command_line);
5939 case Gamma_iced_tail_record:
5941 recordParts -> storeCommands (*command_line);
5944 case w_clean_wing_record:
5946 recordParts -> storeCommands (*command_line);
5949 case w_iced_wing_record:
5951 recordParts -> storeCommands (*command_line);
5954 case w_clean_tail_record:
5956 recordParts -> storeCommands (*command_line);
5959 case w_iced_tail_record:
5961 recordParts -> storeCommands (*command_line);
5964 case V_total_clean_wing_record:
5966 recordParts -> storeCommands (*command_line);
5969 case V_total_iced_wing_record:
5971 recordParts -> storeCommands (*command_line);
5974 case V_total_clean_tail_record:
5976 recordParts -> storeCommands (*command_line);
5979 case V_total_iced_tail_record:
5981 recordParts -> storeCommands (*command_line);
5984 case beta_flow_clean_wing_record:
5986 recordParts -> storeCommands (*command_line);
5989 case beta_flow_clean_wing_deg_record:
5991 recordParts -> storeCommands (*command_line);
5994 case beta_flow_iced_wing_record:
5996 recordParts -> storeCommands (*command_line);
5999 case beta_flow_iced_wing_deg_record:
6001 recordParts -> storeCommands (*command_line);
6004 case beta_flow_clean_tail_record:
6006 recordParts -> storeCommands (*command_line);
6009 case beta_flow_clean_tail_deg_record:
6011 recordParts -> storeCommands (*command_line);
6014 case beta_flow_iced_tail_record:
6016 recordParts -> storeCommands (*command_line);
6019 case beta_flow_iced_tail_deg_record:
6021 recordParts -> storeCommands (*command_line);
6024 case Dbeta_flow_wing_record:
6026 recordParts -> storeCommands (*command_line);
6029 case Dbeta_flow_wing_deg_record:
6031 recordParts -> storeCommands (*command_line);
6034 case Dbeta_flow_tail_record:
6036 recordParts -> storeCommands (*command_line);
6039 case Dbeta_flow_tail_deg_record:
6041 recordParts -> storeCommands (*command_line);
6044 case pct_beta_flow_wing_record:
6046 recordParts -> storeCommands (*command_line);
6049 case pct_beta_flow_tail_record:
6051 recordParts -> storeCommands (*command_line);
6055 /************************ Forces ***********************/
6056 case F_X_wind_record:
6058 recordParts -> storeCommands (*command_line);
6061 case F_Y_wind_record:
6063 recordParts -> storeCommands (*command_line);
6066 case F_Z_wind_record:
6068 recordParts -> storeCommands (*command_line);
6071 case F_X_aero_record:
6073 recordParts -> storeCommands (*command_line);
6076 case F_Y_aero_record:
6078 recordParts -> storeCommands (*command_line);
6081 case F_Z_aero_record:
6083 recordParts -> storeCommands (*command_line);
6086 case F_X_engine_record:
6088 recordParts -> storeCommands (*command_line);
6091 case F_Y_engine_record:
6093 recordParts -> storeCommands (*command_line);
6096 case F_Z_engine_record:
6098 recordParts -> storeCommands (*command_line);
6101 case F_X_gear_record:
6103 recordParts -> storeCommands (*command_line);
6106 case F_Y_gear_record:
6108 recordParts -> storeCommands (*command_line);
6111 case F_Z_gear_record:
6113 recordParts -> storeCommands (*command_line);
6118 recordParts -> storeCommands (*command_line);
6123 recordParts -> storeCommands (*command_line);
6128 recordParts -> storeCommands (*command_line);
6131 case F_north_record:
6133 recordParts -> storeCommands (*command_line);
6138 recordParts -> storeCommands (*command_line);
6143 recordParts -> storeCommands (*command_line);
6147 /*********************** Moments ***********************/
6148 case M_l_aero_record:
6150 recordParts -> storeCommands (*command_line);
6153 case M_m_aero_record:
6155 recordParts -> storeCommands (*command_line);
6158 case M_n_aero_record:
6160 recordParts -> storeCommands (*command_line);
6163 case M_l_engine_record:
6165 recordParts -> storeCommands (*command_line);
6168 case M_m_engine_record:
6170 recordParts -> storeCommands (*command_line);
6173 case M_n_engine_record:
6175 recordParts -> storeCommands (*command_line);
6178 case M_l_gear_record:
6180 recordParts -> storeCommands (*command_line);
6183 case M_m_gear_record:
6185 recordParts -> storeCommands (*command_line);
6188 case M_n_gear_record:
6190 recordParts -> storeCommands (*command_line);
6195 recordParts -> storeCommands (*command_line);
6200 recordParts -> storeCommands (*command_line);
6205 recordParts -> storeCommands (*command_line);
6210 uiuc_warnings_errors(2, *command_line);
6220 switch(misc_map[linetoken2])
6222 case simpleHingeMomentCoef_flag:
6224 if (check_float(linetoken3))
6225 token3 >> token_value;
6227 uiuc_warnings_errors(1, *command_line);
6229 simpleHingeMomentCoef = token_value;
6232 case dfTimefdf_flag:
6234 dfTimefdf = linetoken3;
6235 /* call 1D File Reader with file name (dfTimefdf);
6236 function returns array of dfs (dfArray) and
6237 corresponding time values (TimeArray) and max
6238 number of terms in arrays (ndf) */
6239 uiuc_1DdataFileReader(dfTimefdf,
6241 dfTimefdf_TimeArray,
6247 uiuc_warnings_errors(2, *command_line);
6257 if (linetoken1=="*")
6259 uiuc_warnings_errors(2, *command_line);
6263 } // end keyword map