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 */
267 dyn_on_speed_zero = 0.5 * dyn_on_speed; /* only used of use_dyn_on_speed_curve1 is used */
271 /* Read the file and get the list of commands */
272 airplane = new ParseFile(aircraft_name); /* struct that includes all lines of the input file */
273 command_list = airplane -> getCommands();
274 /* structs to include all parts included in the input file for specific keyword groups */
275 initParts = new ParseFile();
276 geometryParts = new ParseFile();
277 massParts = new ParseFile();
278 engineParts = new ParseFile();
279 aeroDragParts = new ParseFile();
280 aeroLiftParts = new ParseFile();
281 aeroPitchParts = new ParseFile();
282 aeroSideforceParts = new ParseFile();
283 aeroRollParts = new ParseFile();
284 aeroYawParts = new ParseFile();
285 gearParts = new ParseFile();
286 recordParts = new ParseFile();
288 if (command_list.begin() == command_list.end())
290 cerr << "UIUC ERROR: File " << aircraft_name <<" does not exist" << endl;
294 //construct aircraft-directory
295 aircraft_directory = aircraft_name;
296 int index_aircraft_dat = aircraft_directory.find("aircraft.dat");
297 aircraft_directory.erase(index_aircraft_dat,12);
299 for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
301 cout << *command_line << endl;
303 linetoken1 = airplane -> getToken (*command_line, 1);
304 linetoken2 = airplane -> getToken (*command_line, 2);
305 linetoken3 = airplane -> getToken (*command_line, 3);
306 linetoken4 = airplane -> getToken (*command_line, 4);
307 linetoken5 = airplane -> getToken (*command_line, 5);
308 linetoken6 = airplane -> getToken (*command_line, 6);
309 linetoken7 = airplane -> getToken (*command_line, 7);
310 linetoken8 = airplane -> getToken (*command_line, 8);
311 linetoken9 = airplane -> getToken (*command_line, 9);
313 istrstream token3(linetoken3.c_str());
314 istrstream token4(linetoken4.c_str());
315 istrstream token5(linetoken5.c_str());
316 istrstream token6(linetoken6.c_str());
317 istrstream token7(linetoken7.c_str());
318 istrstream token8(linetoken8.c_str());
319 istrstream token9(linetoken9.c_str());
321 switch (Keyword_map[linetoken1])
325 switch(init_map[linetoken2])
329 if (check_float(linetoken3))
330 token3 >> token_value;
332 uiuc_warnings_errors(1, *command_line);
334 Dx_pilot = token_value;
335 initParts -> storeCommands (*command_line);
340 if (check_float(linetoken3))
341 token3 >> token_value;
343 uiuc_warnings_errors(1, *command_line);
345 Dy_pilot = token_value;
346 initParts -> storeCommands (*command_line);
351 if (check_float(linetoken3))
352 token3 >> token_value;
354 uiuc_warnings_errors(1, *command_line);
356 Dz_pilot = token_value;
357 initParts -> storeCommands (*command_line);
362 if (check_float(linetoken3))
363 token3 >> token_value;
365 uiuc_warnings_errors(1, *command_line);
368 initParts -> storeCommands (*command_line);
373 if (check_float(linetoken3))
374 token3 >> token_value;
376 uiuc_warnings_errors(1, *command_line);
379 initParts -> storeCommands (*command_line);
384 if (check_float(linetoken3))
385 token3 >> token_value;
387 uiuc_warnings_errors(1, *command_line);
390 initParts -> storeCommands (*command_line);
395 if (check_float(linetoken3))
396 token3 >> token_value;
398 uiuc_warnings_errors(1, *command_line);
400 Altitude = token_value;
401 initParts -> storeCommands (*command_line);
406 if (check_float(linetoken3))
407 token3 >> token_value;
409 uiuc_warnings_errors(1, *command_line);
411 V_north = token_value;
412 initParts -> storeCommands (*command_line);
417 initParts -> storeCommands (*command_line);
418 if (check_float(linetoken3))
419 token3 >> token_value;
421 uiuc_warnings_errors(1, *command_line);
423 V_east = token_value;
428 if (check_float(linetoken3))
429 token3 >> token_value;
431 uiuc_warnings_errors(1, *command_line);
433 V_down = token_value;
434 initParts -> storeCommands (*command_line);
439 if (check_float(linetoken3))
440 token3 >> token_value;
442 uiuc_warnings_errors(1, *command_line);
444 P_body_init_true = true;
445 P_body_init = token_value;
446 initParts -> storeCommands (*command_line);
451 if (check_float(linetoken3))
452 token3 >> token_value;
454 uiuc_warnings_errors(1, *command_line);
456 Q_body_init_true = true;
457 Q_body_init = token_value;
458 initParts -> storeCommands (*command_line);
463 if (check_float(linetoken3))
464 token3 >> token_value;
466 uiuc_warnings_errors(1, *command_line);
468 R_body_init_true = true;
469 R_body_init = token_value;
470 initParts -> storeCommands (*command_line);
475 if (check_float(linetoken3))
476 token3 >> token_value;
478 uiuc_warnings_errors(1, *command_line);
480 Phi_init_true = true;
481 Phi_init = token_value;
482 initParts -> storeCommands (*command_line);
487 if (check_float(linetoken3))
488 token3 >> token_value;
490 uiuc_warnings_errors(1, *command_line);
492 Theta_init_true = true;
493 Theta_init = token_value;
494 initParts -> storeCommands (*command_line);
499 if (check_float(linetoken3))
500 token3 >> token_value;
502 uiuc_warnings_errors(1, *command_line);
504 Psi_init_true = true;
505 Psi_init = token_value;
506 initParts -> storeCommands (*command_line);
511 if (check_float(linetoken3))
512 token3 >> token_value;
514 uiuc_warnings_errors(1, *command_line);
516 Long_trim = token_value;
517 initParts -> storeCommands (*command_line);
520 case recordRate_flag:
522 //can't use check_float since variable is integer
523 token3 >> token_value_recordRate;
524 recordRate = 120 / token_value_recordRate;
527 case recordStartTime_flag:
529 if (check_float(linetoken3))
530 token3 >> token_value;
532 uiuc_warnings_errors(1, *command_line);
534 recordStartTime = token_value;
537 case use_V_rel_wind_2U_flag:
539 use_V_rel_wind_2U = true;
542 case nondim_rate_V_rel_wind_flag:
544 nondim_rate_V_rel_wind = true;
547 case use_abs_U_body_2U_flag:
549 use_abs_U_body_2U = true;
552 case dyn_on_speed_flag:
554 if (check_float(linetoken3))
555 token3 >> token_value;
557 uiuc_warnings_errors(1, *command_line);
559 dyn_on_speed = token_value;
562 case dyn_on_speed_zero_flag:
564 if (check_float(linetoken3))
565 token3 >> token_value;
567 uiuc_warnings_errors(1, *command_line);
569 dyn_on_speed_zero = token_value;
572 case use_dyn_on_speed_curve1_flag:
574 use_dyn_on_speed_curve1 = true;
579 if (check_float(linetoken3))
580 token3 >> token_value;
582 uiuc_warnings_errors(1, *command_line);
584 Alpha_init_true = true;
585 Alpha_init = token_value * DEG_TO_RAD;
590 if (check_float(linetoken3))
591 token3 >> token_value;
593 uiuc_warnings_errors(1, *command_line);
595 Beta_init_true = true;
596 Beta_init = token_value * DEG_TO_RAD;
601 if (check_float(linetoken3))
602 token3 >> token_value;
604 uiuc_warnings_errors(1, *command_line);
606 U_body_init_true = true;
607 U_body_init = token_value;
612 if (check_float(linetoken3))
613 token3 >> token_value;
615 uiuc_warnings_errors(1, *command_line);
617 V_body_init_true = true;
618 V_body_init = token_value;
623 if (check_float(linetoken3))
624 token3 >> token_value;
626 uiuc_warnings_errors(1, *command_line);
628 W_body_init_true = true;
629 W_body_init = token_value;
634 uiuc_warnings_errors(2, *command_line);
644 switch(geometry_map[linetoken2])
648 if (check_float(linetoken3))
649 token3 >> token_value;
651 uiuc_warnings_errors(1, *command_line);
654 geometryParts -> storeCommands (*command_line);
659 if (check_float(linetoken3))
660 token3 >> token_value;
662 uiuc_warnings_errors(1, *command_line);
665 geometryParts -> storeCommands (*command_line);
670 if (check_float(linetoken3))
671 token3 >> token_value;
673 uiuc_warnings_errors(1, *command_line);
676 geometryParts -> storeCommands (*command_line);
681 if (check_float(linetoken3))
682 token3 >> token_value;
684 uiuc_warnings_errors(1, *command_line);
687 geometryParts -> storeCommands (*command_line);
692 if (check_float(linetoken3))
693 token3 >> token_value;
695 uiuc_warnings_errors(1, *command_line);
698 geometryParts -> storeCommands (*command_line);
703 if (check_float(linetoken3))
704 token3 >> token_value;
706 uiuc_warnings_errors(1, *command_line);
709 geometryParts -> storeCommands (*command_line);
714 if (check_float(linetoken3))
715 token3 >> token_value;
717 uiuc_warnings_errors(1, *command_line);
720 geometryParts -> storeCommands (*command_line);
725 uiuc_warnings_errors(2, *command_line);
730 } // end geometry map
733 case controlSurface_flag:
735 switch(controlSurface_map[linetoken2])
739 if (check_float(linetoken3))
740 token3 >> token_value;
742 uiuc_warnings_errors(1, *command_line);
746 if (check_float(linetoken4))
747 token4 >> token_value;
749 uiuc_warnings_errors(1, *command_line);
756 if (check_float(linetoken3))
757 token3 >> token_value;
759 uiuc_warnings_errors(1, *command_line);
763 if (check_float(linetoken4))
764 token4 >> token_value;
766 uiuc_warnings_errors(1, *command_line);
773 if (check_float(linetoken3))
774 token3 >> token_value;
776 uiuc_warnings_errors(1, *command_line);
780 if (check_float(linetoken4))
781 token4 >> token_value;
783 uiuc_warnings_errors(1, *command_line);
788 case set_Long_trim_flag:
790 if (check_float(linetoken3))
791 token3 >> token_value;
793 uiuc_warnings_errors(1, *command_line);
795 set_Long_trim = true;
796 elevator_tab = token_value;
799 case set_Long_trim_deg_flag:
801 if (check_float(linetoken3))
802 token3 >> token_value;
804 uiuc_warnings_errors(1, *command_line);
806 set_Long_trim = true;
807 elevator_tab = token_value * DEG_TO_RAD;
810 case zero_Long_trim_flag:
812 zero_Long_trim = true;
815 case elevator_step_flag:
817 // set step input flag
818 elevator_step = true;
820 // read in step angle in degrees and convert
821 if (check_float(linetoken3))
822 token3 >> token_value;
824 uiuc_warnings_errors(1, *command_line);
826 elevator_step_angle = token_value * DEG_TO_RAD;
828 // read in step start time
829 if (check_float(linetoken4))
830 token4 >> token_value;
832 uiuc_warnings_errors(1, *command_line);
834 elevator_step_startTime = token_value;
837 case elevator_singlet_flag:
839 // set singlet input flag
840 elevator_singlet = true;
842 // read in singlet angle in degrees and convert
843 if (check_float(linetoken3))
844 token3 >> token_value;
846 uiuc_warnings_errors(1, *command_line);
848 elevator_singlet_angle = token_value * DEG_TO_RAD;
850 // read in singlet start time
851 if (check_float(linetoken4))
852 token4 >> token_value;
854 uiuc_warnings_errors(1, *command_line);
856 elevator_singlet_startTime = token_value;
858 // read in singlet duration
859 if (check_float(linetoken5))
860 token5 >> token_value;
862 uiuc_warnings_errors(1, *command_line);
864 elevator_singlet_duration = token_value;
867 case elevator_doublet_flag:
869 // set doublet input flag
870 elevator_doublet = true;
872 // read in doublet angle in degrees and convert
873 if (check_float(linetoken3))
874 token3 >> token_value;
876 uiuc_warnings_errors(1, *command_line);
878 elevator_doublet_angle = token_value * DEG_TO_RAD;
880 // read in doublet start time
881 if (check_float(linetoken4))
882 token4 >> token_value;
884 uiuc_warnings_errors(1, *command_line);
886 elevator_doublet_startTime = token_value;
888 // read in doublet duration
889 if (check_float(linetoken5))
890 token5 >> token_value;
892 uiuc_warnings_errors(1, *command_line);
894 elevator_doublet_duration = token_value;
897 case elevator_input_flag:
899 elevator_input = true;
900 elevator_input_file = aircraft_directory + linetoken3;
901 token4 >> token_value_convert1;
902 token5 >> token_value_convert2;
903 convert_y = uiuc_convert(token_value_convert1);
904 convert_x = uiuc_convert(token_value_convert2);
905 uiuc_1DdataFileReader(elevator_input_file,
906 elevator_input_timeArray,
907 elevator_input_deArray,
908 elevator_input_ntime);
909 token6 >> token_value;
910 elevator_input_startTime = token_value;
913 case aileron_input_flag:
915 aileron_input = true;
916 aileron_input_file = aircraft_directory + linetoken3;
917 token4 >> token_value_convert1;
918 token5 >> token_value_convert2;
919 convert_y = uiuc_convert(token_value_convert1);
920 convert_x = uiuc_convert(token_value_convert2);
921 uiuc_1DdataFileReader(aileron_input_file,
922 aileron_input_timeArray,
923 aileron_input_daArray,
924 aileron_input_ntime);
925 token6 >> token_value;
926 aileron_input_startTime = token_value;
929 case rudder_input_flag:
932 rudder_input_file = aircraft_directory + linetoken3;
933 token4 >> token_value_convert1;
934 token5 >> token_value_convert2;
935 convert_y = uiuc_convert(token_value_convert1);
936 convert_x = uiuc_convert(token_value_convert2);
937 uiuc_1DdataFileReader(rudder_input_file,
938 rudder_input_timeArray,
939 rudder_input_drArray,
941 token6 >> token_value;
942 rudder_input_startTime = token_value;
945 case pilot_elev_no_flag:
947 pilot_elev_no_check = true;
950 case pilot_ail_no_flag:
952 pilot_ail_no_check = true;
955 case pilot_rud_no_flag:
957 pilot_rud_no_check = true;
962 if (check_float(linetoken3))
963 token3 >> token_value;
965 uiuc_warnings_errors(1, *command_line);
967 flap_max = token_value;
972 if (check_float(linetoken3))
973 token3 >> token_value;
975 uiuc_warnings_errors(1, *command_line);
977 flap_rate = token_value;
982 uiuc_warnings_errors(2, *command_line);
987 } // end controlSurface map
992 switch(mass_map[linetoken2])
996 if (check_float(linetoken3))
997 token3 >> token_value;
999 uiuc_warnings_errors(1, *command_line);
1001 Weight = token_value;
1002 Mass = Weight * INVG;
1003 massParts -> storeCommands (*command_line);
1008 if (check_float(linetoken3))
1009 token3 >> token_value;
1011 uiuc_warnings_errors(1, *command_line);
1014 massParts -> storeCommands (*command_line);
1019 if (check_float(linetoken3))
1020 token3 >> token_value;
1022 uiuc_warnings_errors(1, *command_line);
1025 massParts -> storeCommands (*command_line);
1030 if (check_float(linetoken3))
1031 token3 >> token_value;
1033 uiuc_warnings_errors(1, *command_line);
1036 massParts -> storeCommands (*command_line);
1041 if (check_float(linetoken3))
1042 token3 >> token_value;
1044 uiuc_warnings_errors(1, *command_line);
1047 massParts -> storeCommands (*command_line);
1052 if (check_float(linetoken3))
1053 token3 >> token_value;
1055 uiuc_warnings_errors(1, *command_line);
1058 massParts -> storeCommands (*command_line);
1061 case Mass_appMass_ratio_flag:
1063 if (check_float(linetoken3))
1064 token3 >> token_value;
1066 uiuc_warnings_errors(1, *command_line);
1068 Mass_appMass_ratio = token_value;
1069 massParts -> storeCommands (*command_line);
1072 case I_xx_appMass_ratio_flag:
1074 if (check_float(linetoken3))
1075 token3 >> token_value;
1077 uiuc_warnings_errors(1, *command_line);
1079 I_xx_appMass_ratio = token_value;
1080 massParts -> storeCommands (*command_line);
1083 case I_yy_appMass_ratio_flag:
1085 if (check_float(linetoken3))
1086 token3 >> token_value;
1088 uiuc_warnings_errors(1, *command_line);
1090 I_yy_appMass_ratio = token_value;
1091 massParts -> storeCommands (*command_line);
1094 case I_zz_appMass_ratio_flag:
1096 if (check_float(linetoken3))
1097 token3 >> token_value;
1099 uiuc_warnings_errors(1, *command_line);
1101 I_zz_appMass_ratio = token_value;
1102 massParts -> storeCommands (*command_line);
1105 case Mass_appMass_flag:
1107 if (check_float(linetoken3))
1108 token3 >> token_value;
1110 uiuc_warnings_errors(1, *command_line);
1112 Mass_appMass = token_value;
1113 massParts -> storeCommands (*command_line);
1116 case I_xx_appMass_flag:
1118 if (check_float(linetoken3))
1119 token3 >> token_value;
1121 uiuc_warnings_errors(1, *command_line);
1123 I_xx_appMass = token_value;
1124 massParts -> storeCommands (*command_line);
1127 case I_yy_appMass_flag:
1129 if (check_float(linetoken3))
1130 token3 >> token_value;
1132 uiuc_warnings_errors(1, *command_line);
1134 I_yy_appMass = token_value;
1135 massParts -> storeCommands (*command_line);
1138 case I_zz_appMass_flag:
1140 if (check_float(linetoken3))
1141 token3 >> token_value;
1143 uiuc_warnings_errors(1, *command_line);
1145 I_zz_appMass = token_value;
1146 massParts -> storeCommands (*command_line);
1151 uiuc_warnings_errors(2, *command_line);
1161 switch(engine_map[linetoken2])
1163 case simpleSingle_flag:
1165 if (check_float(linetoken3))
1166 token3 >> token_value;
1168 uiuc_warnings_errors(1, *command_line);
1170 simpleSingleMaxThrust = token_value;
1171 engineParts -> storeCommands (*command_line);
1176 engineParts -> storeCommands (*command_line);
1181 engineParts -> storeCommands (*command_line);
1184 case Throttle_pct_input_flag:
1186 Throttle_pct_input = true;
1187 Throttle_pct_input_file = aircraft_directory + linetoken3;
1188 token4 >> token_value_convert1;
1189 token5 >> token_value_convert2;
1190 convert_y = uiuc_convert(token_value_convert1);
1191 convert_x = uiuc_convert(token_value_convert2);
1192 uiuc_1DdataFileReader(Throttle_pct_input_file,
1193 Throttle_pct_input_timeArray,
1194 Throttle_pct_input_dTArray,
1195 Throttle_pct_input_ntime);
1196 token6 >> token_value;
1197 Throttle_pct_input_startTime = token_value;
1202 uiuc_warnings_errors(2, *command_line);
1212 switch(CD_map[linetoken2])
1216 if (check_float(linetoken3))
1217 token3 >> token_value;
1219 uiuc_warnings_errors(1, *command_line);
1223 aeroDragParts -> storeCommands (*command_line);
1228 if (check_float(linetoken3))
1229 token3 >> token_value;
1231 uiuc_warnings_errors(1, *command_line);
1235 aeroDragParts -> storeCommands (*command_line);
1240 if (check_float(linetoken3))
1241 token3 >> token_value;
1243 uiuc_warnings_errors(1, *command_line);
1247 aeroDragParts -> storeCommands (*command_line);
1252 if (check_float(linetoken3))
1253 token3 >> token_value;
1255 uiuc_warnings_errors(1, *command_line);
1257 CD_adot = token_value;
1258 CD_adot_clean = CD_adot;
1259 aeroDragParts -> storeCommands (*command_line);
1264 if (check_float(linetoken3))
1265 token3 >> token_value;
1267 uiuc_warnings_errors(1, *command_line);
1271 aeroDragParts -> storeCommands (*command_line);
1276 if (check_float(linetoken3))
1277 token3 >> token_value;
1279 uiuc_warnings_errors(1, *command_line);
1281 CD_ih = token_value;
1282 aeroDragParts -> storeCommands (*command_line);
1287 if (check_float(linetoken3))
1288 token3 >> token_value;
1290 uiuc_warnings_errors(1, *command_line);
1292 CD_de = token_value;
1293 CD_de_clean = CD_de;
1294 aeroDragParts -> storeCommands (*command_line);
1299 CDfa = aircraft_directory + linetoken3;
1300 token4 >> token_value_convert1;
1301 token5 >> token_value_convert2;
1302 convert_y = uiuc_convert(token_value_convert1);
1303 convert_x = uiuc_convert(token_value_convert2);
1304 /* call 1D File Reader with file name (CDfa) and conversion
1305 factors; function returns array of alphas (aArray) and
1306 corresponding CD values (CDArray) and max number of
1307 terms in arrays (nAlpha) */
1308 uiuc_1DdataFileReader(CDfa,
1312 aeroDragParts -> storeCommands (*command_line);
1317 CDfCL = aircraft_directory + linetoken3;
1318 token4 >> token_value_convert1;
1319 token5 >> token_value_convert2;
1320 convert_y = uiuc_convert(token_value_convert1);
1321 convert_x = uiuc_convert(token_value_convert2);
1322 /* call 1D File Reader with file name (CDfCL) and conversion
1323 factors; function returns array of CLs (CLArray) and
1324 corresponding CD values (CDArray) and max number of
1325 terms in arrays (nCL) */
1326 uiuc_1DdataFileReader(CDfCL,
1330 aeroDragParts -> storeCommands (*command_line);
1335 CDfade = aircraft_directory + linetoken3;
1336 token4 >> token_value_convert1;
1337 token5 >> token_value_convert2;
1338 token6 >> token_value_convert3;
1339 convert_z = uiuc_convert(token_value_convert1);
1340 convert_x = uiuc_convert(token_value_convert2);
1341 convert_y = uiuc_convert(token_value_convert3);
1342 /* call 2D File Reader with file name (CDfade) and
1343 conversion factors; function returns array of
1344 elevator deflections (deArray) and corresponding
1345 alpha (aArray) and delta CD (CDArray) values and
1346 max number of terms in alpha arrays (nAlphaArray)
1347 and deflection array (nde) */
1348 uiuc_2DdataFileReader(CDfade,
1354 aeroDragParts -> storeCommands (*command_line);
1359 CDfdf = aircraft_directory + linetoken3;
1360 token4 >> token_value_convert1;
1361 token5 >> token_value_convert2;
1362 convert_y = uiuc_convert(token_value_convert1);
1363 convert_x = uiuc_convert(token_value_convert2);
1364 /* call 1D File Reader with file name (CDfdf) and conversion
1365 factors; function returns array of dfs (dfArray) and
1366 corresponding CD values (CDArray) and max number of
1367 terms in arrays (ndf) */
1368 uiuc_1DdataFileReader(CDfdf,
1372 aeroDragParts -> storeCommands (*command_line);
1377 CDfadf = aircraft_directory + linetoken3;
1378 token4 >> token_value_convert1;
1379 token5 >> token_value_convert2;
1380 token6 >> token_value_convert3;
1381 convert_z = uiuc_convert(token_value_convert1);
1382 convert_x = uiuc_convert(token_value_convert2);
1383 convert_y = uiuc_convert(token_value_convert3);
1384 /* call 2D File Reader with file name (CDfadf) and
1385 conversion factors; function returns array of
1386 flap deflections (dfArray) and corresponding
1387 alpha (aArray) and delta CD (CDArray) values and
1388 max number of terms in alpha arrays (nAlphaArray)
1389 and deflection array (ndf) */
1390 uiuc_2DdataFileReader(CDfadf,
1396 aeroDragParts -> storeCommands (*command_line);
1401 if (check_float(linetoken3))
1402 token3 >> token_value;
1404 uiuc_warnings_errors(1, *command_line);
1408 aeroDragParts -> storeCommands (*command_line);
1413 if (check_float(linetoken3))
1414 token3 >> token_value;
1416 uiuc_warnings_errors(1, *command_line);
1420 aeroDragParts -> storeCommands (*command_line);
1425 if (check_float(linetoken3))
1426 token3 >> token_value;
1428 uiuc_warnings_errors(1, *command_line);
1432 aeroDragParts -> storeCommands (*command_line);
1437 if (check_float(linetoken3))
1438 token3 >> token_value;
1440 uiuc_warnings_errors(1, *command_line);
1442 CX_a2 = token_value;
1443 CX_a2_clean = CX_a2;
1444 aeroDragParts -> storeCommands (*command_line);
1449 if (check_float(linetoken3))
1450 token3 >> token_value;
1452 uiuc_warnings_errors(1, *command_line);
1454 CX_a3 = token_value;
1455 CX_a3_clean = CX_a3;
1456 aeroDragParts -> storeCommands (*command_line);
1461 if (check_float(linetoken3))
1462 token3 >> token_value;
1464 uiuc_warnings_errors(1, *command_line);
1466 CX_adot = token_value;
1467 CX_adot_clean = CX_adot;
1468 aeroDragParts -> storeCommands (*command_line);
1473 if (check_float(linetoken3))
1474 token3 >> token_value;
1476 uiuc_warnings_errors(1, *command_line);
1480 aeroDragParts -> storeCommands (*command_line);
1485 if (check_float(linetoken3))
1486 token3 >> token_value;
1488 uiuc_warnings_errors(1, *command_line);
1490 CX_de = token_value;
1491 CX_de_clean = CX_de;
1492 aeroDragParts -> storeCommands (*command_line);
1497 if (check_float(linetoken3))
1498 token3 >> token_value;
1500 uiuc_warnings_errors(1, *command_line);
1502 CX_dr = token_value;
1503 CX_dr_clean = CX_dr;
1504 aeroDragParts -> storeCommands (*command_line);
1509 if (check_float(linetoken3))
1510 token3 >> token_value;
1512 uiuc_warnings_errors(1, *command_line);
1514 CX_df = token_value;
1515 CX_df_clean = CX_df;
1516 aeroDragParts -> storeCommands (*command_line);
1521 if (check_float(linetoken3))
1522 token3 >> token_value;
1524 uiuc_warnings_errors(1, *command_line);
1526 CX_adf = token_value;
1527 CX_adf_clean = CX_adf;
1528 aeroDragParts -> storeCommands (*command_line);
1531 case CXfabetaf_flag:
1533 int CXfabetaf_index, i;
1534 string CXfabetaf_file;
1536 CXfabetaf_file = aircraft_directory + linetoken3;
1537 token4 >> CXfabetaf_index;
1538 if (CXfabetaf_index < 1 || CXfabetaf_index >= 30)
1539 uiuc_warnings_errors(1, *command_line);
1540 if (CXfabetaf_index > CXfabetaf_nf)
1541 CXfabetaf_nf = CXfabetaf_index;
1542 token5 >> flap_value;
1543 CXfabetaf_fArray[CXfabetaf_index] = flap_value;
1544 token6 >> token_value_convert1;
1545 token7 >> token_value_convert2;
1546 token8 >> token_value_convert3;
1547 token9 >> CXfabetaf_nice;
1548 convert_z = uiuc_convert(token_value_convert1);
1549 convert_x = uiuc_convert(token_value_convert2);
1550 convert_y = uiuc_convert(token_value_convert3);
1551 /* call 2D File Reader with file name (CXfabetaf_file) and
1552 conversion factors; function returns array of
1553 elevator deflections (deArray) and corresponding
1554 alpha (aArray) and delta CZ (CZArray) values and
1555 max number of terms in alpha arrays (nAlphaArray)
1556 and delfection array (nde) */
1557 uiuc_2DdataFileReader(CXfabetaf_file,
1563 d_2_to_3(datafile_xArray, CXfabetaf_aArray, CXfabetaf_index);
1564 d_1_to_2(datafile_yArray, CXfabetaf_betaArray, CXfabetaf_index);
1565 d_2_to_3(datafile_zArray, CXfabetaf_CXArray, CXfabetaf_index);
1566 i_1_to_2(datafile_nxArray, CXfabetaf_nAlphaArray, CXfabetaf_index);
1567 CXfabetaf_nbeta[CXfabetaf_index] = datafile_ny;
1568 if (CXfabetaf_first==true)
1570 if (CXfabetaf_nice == 1)
1572 CXfabetaf_na_nice = datafile_nxArray[1];
1573 CXfabetaf_nb_nice = datafile_ny;
1574 d_1_to_1(CXfabetaf_bArray_nice, datafile_yArray);
1575 for (i=1; i<=CXfabetaf_na_nice; i++)
1576 CXfabetaf_aArray_nice[i] = datafile_xArray[1][i];
1578 aeroDragParts -> storeCommands (*command_line);
1579 CXfabetaf_first=false;
1585 int CXfadef_index, i;
1586 string CXfadef_file;
1588 CXfadef_file = aircraft_directory + linetoken3;
1589 token4 >> CXfadef_index;
1590 if (CXfadef_index < 0 || CXfadef_index >= 30)
1591 uiuc_warnings_errors(1, *command_line);
1592 if (CXfadef_index > CXfadef_nf)
1593 CXfadef_nf = CXfadef_index;
1594 token5 >> flap_value;
1595 CXfadef_fArray[CXfadef_index] = flap_value;
1596 token6 >> token_value_convert1;
1597 token7 >> token_value_convert2;
1598 token8 >> token_value_convert3;
1599 token9 >> CXfadef_nice;
1600 convert_z = uiuc_convert(token_value_convert1);
1601 convert_x = uiuc_convert(token_value_convert2);
1602 convert_y = uiuc_convert(token_value_convert3);
1603 /* call 2D File Reader with file name (CXfadef_file) and
1604 conversion factors; function returns array of
1605 elevator deflections (deArray) and corresponding
1606 alpha (aArray) and delta CZ (CZArray) values and
1607 max number of terms in alpha arrays (nAlphaArray)
1608 and delfection array (nde) */
1609 uiuc_2DdataFileReader(CXfadef_file,
1615 d_2_to_3(datafile_xArray, CXfadef_aArray, CXfadef_index);
1616 d_1_to_2(datafile_yArray, CXfadef_deArray, CXfadef_index);
1617 d_2_to_3(datafile_zArray, CXfadef_CXArray, CXfadef_index);
1618 i_1_to_2(datafile_nxArray, CXfadef_nAlphaArray, CXfadef_index);
1619 CXfadef_nde[CXfadef_index] = datafile_ny;
1620 if (CXfadef_first==true)
1622 if (CXfadef_nice == 1)
1624 CXfadef_na_nice = datafile_nxArray[1];
1625 CXfadef_nde_nice = datafile_ny;
1626 d_1_to_1(CXfadef_deArray_nice, datafile_yArray);
1627 for (i=1; i<=CXfadef_na_nice; i++)
1628 CXfadef_aArray_nice[i] = datafile_xArray[1][i];
1630 aeroDragParts -> storeCommands (*command_line);
1631 CXfadef_first=false;
1637 int CXfaqf_index, i;
1640 CXfaqf_file = aircraft_directory + linetoken3;
1641 token4 >> CXfaqf_index;
1642 if (CXfaqf_index < 0 || CXfaqf_index >= 30)
1643 uiuc_warnings_errors(1, *command_line);
1644 if (CXfaqf_index > CXfaqf_nf)
1645 CXfaqf_nf = CXfaqf_index;
1646 token5 >> flap_value;
1647 CXfaqf_fArray[CXfaqf_index] = flap_value;
1648 token6 >> token_value_convert1;
1649 token7 >> token_value_convert2;
1650 token8 >> token_value_convert3;
1651 token9 >> CXfaqf_nice;
1652 convert_z = uiuc_convert(token_value_convert1);
1653 convert_x = uiuc_convert(token_value_convert2);
1654 convert_y = uiuc_convert(token_value_convert3);
1655 /* call 2D File Reader with file name (CXfaqf_file) and
1656 conversion factors; function returns array of
1657 elevator deflections (deArray) and corresponding
1658 alpha (aArray) and delta CZ (CZArray) values and
1659 max number of terms in alpha arrays (nAlphaArray)
1660 and delfection array (nde) */
1661 uiuc_2DdataFileReader(CXfaqf_file,
1667 d_2_to_3(datafile_xArray, CXfaqf_aArray, CXfaqf_index);
1668 d_1_to_2(datafile_yArray, CXfaqf_qArray, CXfaqf_index);
1669 d_2_to_3(datafile_zArray, CXfaqf_CXArray, CXfaqf_index);
1670 i_1_to_2(datafile_nxArray, CXfaqf_nAlphaArray, CXfaqf_index);
1671 CXfaqf_nq[CXfaqf_index] = datafile_ny;
1672 if (CXfaqf_first==true)
1674 if (CXfaqf_nice == 1)
1676 CXfaqf_na_nice = datafile_nxArray[1];
1677 CXfaqf_nq_nice = datafile_ny;
1678 d_1_to_1(CXfaqf_qArray_nice, datafile_yArray);
1679 for (i=1; i<=CXfaqf_na_nice; i++)
1680 CXfaqf_aArray_nice[i] = datafile_xArray[1][i];
1682 aeroDragParts -> storeCommands (*command_line);
1689 uiuc_warnings_errors(2, *command_line);
1699 switch(CL_map[linetoken2])
1703 if (check_float(linetoken3))
1704 token3 >> token_value;
1706 uiuc_warnings_errors(1, *command_line);
1710 aeroLiftParts -> storeCommands (*command_line);
1715 if (check_float(linetoken3))
1716 token3 >> token_value;
1718 uiuc_warnings_errors(1, *command_line);
1722 aeroLiftParts -> storeCommands (*command_line);
1727 if (check_float(linetoken3))
1728 token3 >> token_value;
1730 uiuc_warnings_errors(1, *command_line);
1732 CL_adot = token_value;
1733 CL_adot_clean = CL_adot;
1734 aeroLiftParts -> storeCommands (*command_line);
1739 if (check_float(linetoken3))
1740 token3 >> token_value;
1742 uiuc_warnings_errors(1, *command_line);
1746 aeroLiftParts -> storeCommands (*command_line);
1751 if (check_float(linetoken3))
1752 token3 >> token_value;
1754 uiuc_warnings_errors(1, *command_line);
1756 CL_ih = token_value;
1757 aeroLiftParts -> storeCommands (*command_line);
1762 if (check_float(linetoken3))
1763 token3 >> token_value;
1765 uiuc_warnings_errors(1, *command_line);
1767 CL_de = token_value;
1768 CL_de_clean = CL_de;
1769 aeroLiftParts -> storeCommands (*command_line);
1774 CLfa = aircraft_directory + linetoken3;
1775 token4 >> token_value_convert1;
1776 token5 >> token_value_convert2;
1777 convert_y = uiuc_convert(token_value_convert1);
1778 convert_x = uiuc_convert(token_value_convert2);
1779 /* call 1D File Reader with file name (CLfa) and conversion
1780 factors; function returns array of alphas (aArray) and
1781 corresponding CL values (CLArray) and max number of
1782 terms in arrays (nAlpha) */
1783 uiuc_1DdataFileReader(CLfa,
1787 aeroLiftParts -> storeCommands (*command_line);
1792 CLfade = aircraft_directory + linetoken3;
1793 token4 >> token_value_convert1;
1794 token5 >> token_value_convert2;
1795 token6 >> token_value_convert3;
1796 convert_z = uiuc_convert(token_value_convert1);
1797 convert_x = uiuc_convert(token_value_convert2);
1798 convert_y = uiuc_convert(token_value_convert3);
1799 /* call 2D File Reader with file name (CLfade) and
1800 conversion factors; function returns array of
1801 elevator deflections (deArray) and corresponding
1802 alpha (aArray) and delta CL (CLArray) values and
1803 max number of terms in alpha arrays (nAlphaArray)
1804 and deflection array (nde) */
1805 uiuc_2DdataFileReader(CLfade,
1811 aeroLiftParts -> storeCommands (*command_line);
1816 CLfdf = aircraft_directory + linetoken3;
1817 token4 >> token_value_convert1;
1818 token5 >> token_value_convert2;
1819 convert_y = uiuc_convert(token_value_convert1);
1820 convert_x = uiuc_convert(token_value_convert2);
1821 /* call 1D File Reader with file name (CLfdf) and conversion
1822 factors; function returns array of dfs (dfArray) and
1823 corresponding CL values (CLArray) and max number of
1824 terms in arrays (ndf) */
1825 uiuc_1DdataFileReader(CLfdf,
1829 aeroLiftParts -> storeCommands (*command_line);
1831 // additional variables to streamline flap routine in aerodeflections
1833 int temp_counter = 1;
1834 while (temp_counter <= ndf)
1836 dfArray[temp_counter] = CLfdf_dfArray[temp_counter];
1837 TimeArray[temp_counter] = dfTimefdf_TimeArray[temp_counter];
1844 CLfadf = aircraft_directory + linetoken3;
1845 token4 >> token_value_convert1;
1846 token5 >> token_value_convert2;
1847 token6 >> token_value_convert3;
1848 convert_z = uiuc_convert(token_value_convert1);
1849 convert_x = uiuc_convert(token_value_convert2);
1850 convert_y = uiuc_convert(token_value_convert3);
1851 /* call 2D File Reader with file name (CLfadf) and
1852 conversion factors; function returns array of
1853 flap deflections (dfArray) and corresponding
1854 alpha (aArray) and delta CL (CLArray) values and
1855 max number of terms in alpha arrays (nAlphaArray)
1856 and deflection array (ndf) */
1857 uiuc_2DdataFileReader(CLfadf,
1863 aeroLiftParts -> storeCommands (*command_line);
1868 if (check_float(linetoken3))
1869 token3 >> token_value;
1871 uiuc_warnings_errors(1, *command_line);
1875 aeroLiftParts -> storeCommands (*command_line);
1880 if (check_float(linetoken3))
1881 token3 >> token_value;
1883 uiuc_warnings_errors(1, *command_line);
1887 aeroLiftParts -> storeCommands (*command_line);
1892 if (check_float(linetoken3))
1893 token3 >> token_value;
1895 uiuc_warnings_errors(1, *command_line);
1897 CZ_a2 = token_value;
1898 CZ_a2_clean = CZ_a2;
1899 aeroLiftParts -> storeCommands (*command_line);
1904 if (check_float(linetoken3))
1905 token3 >> token_value;
1907 uiuc_warnings_errors(1, *command_line);
1909 CZ_a3 = token_value;
1910 CZ_a3_clean = CZ_a3;
1911 aeroLiftParts -> storeCommands (*command_line);
1916 if (check_float(linetoken3))
1917 token3 >> token_value;
1919 uiuc_warnings_errors(1, *command_line);
1921 CZ_adot = token_value;
1922 CZ_adot_clean = CZ_adot;
1923 aeroLiftParts -> storeCommands (*command_line);
1928 if (check_float(linetoken3))
1929 token3 >> token_value;
1931 uiuc_warnings_errors(1, *command_line);
1935 aeroLiftParts -> storeCommands (*command_line);
1940 if (check_float(linetoken3))
1941 token3 >> token_value;
1943 uiuc_warnings_errors(1, *command_line);
1945 CZ_de = token_value;
1946 CZ_de_clean = CZ_de;
1947 aeroLiftParts -> storeCommands (*command_line);
1952 if (check_float(linetoken3))
1953 token3 >> token_value;
1955 uiuc_warnings_errors(1, *command_line);
1957 CZ_deb2 = token_value;
1958 CZ_deb2_clean = CZ_deb2;
1959 aeroLiftParts -> storeCommands (*command_line);
1964 if (check_float(linetoken3))
1965 token3 >> token_value;
1967 uiuc_warnings_errors(1, *command_line);
1969 CZ_df = token_value;
1970 CZ_df_clean = CZ_df;
1971 aeroLiftParts -> storeCommands (*command_line);
1976 if (check_float(linetoken3))
1977 token3 >> token_value;
1979 uiuc_warnings_errors(1, *command_line);
1981 CZ_adf = token_value;
1982 CZ_adf_clean = CZ_adf;
1983 aeroLiftParts -> storeCommands (*command_line);
1988 CZfa = aircraft_directory + linetoken3;
1989 token4 >> token_value_convert1;
1990 token5 >> token_value_convert2;
1991 convert_y = uiuc_convert(token_value_convert1);
1992 convert_x = uiuc_convert(token_value_convert2);
1993 /* call 1D File Reader with file name (CZfa) and conversion
1994 factors; function returns array of alphas (aArray) and
1995 corresponding CZ values (CZArray) and max number of
1996 terms in arrays (nAlpha) */
1997 uiuc_1DdataFileReader(CZfa,
2001 aeroLiftParts -> storeCommands (*command_line);
2004 case CZfabetaf_flag:
2006 int CZfabetaf_index, i;
2007 string CZfabetaf_file;
2009 CZfabetaf_file = aircraft_directory + linetoken3;
2010 token4 >> CZfabetaf_index;
2011 if (CZfabetaf_index < 0 || CZfabetaf_index >= 30)
2012 uiuc_warnings_errors(1, *command_line);
2013 if (CZfabetaf_index > CZfabetaf_nf)
2014 CZfabetaf_nf = CZfabetaf_index;
2015 token5 >> flap_value;
2016 CZfabetaf_fArray[CZfabetaf_index] = flap_value;
2017 token6 >> token_value_convert1;
2018 token7 >> token_value_convert2;
2019 token8 >> token_value_convert3;
2020 token9 >> CZfabetaf_nice;
2021 convert_z = uiuc_convert(token_value_convert1);
2022 convert_x = uiuc_convert(token_value_convert2);
2023 convert_y = uiuc_convert(token_value_convert3);
2024 /* call 2D File Reader with file name (CZfabetaf_file) and
2025 conversion factors; function returns array of
2026 beta (betaArray) and corresponding
2027 alpha (aArray) and CZ (CZArray) values and
2028 max number of terms in alpha arrays (nAlphaArray)
2029 and beta array (nbeta) */
2030 uiuc_2DdataFileReader(CZfabetaf_file,
2036 d_2_to_3(datafile_xArray, CZfabetaf_aArray, CZfabetaf_index);
2037 d_1_to_2(datafile_yArray, CZfabetaf_betaArray, CZfabetaf_index);
2038 d_2_to_3(datafile_zArray, CZfabetaf_CZArray, CZfabetaf_index);
2039 i_1_to_2(datafile_nxArray, CZfabetaf_nAlphaArray, CZfabetaf_index);
2040 CZfabetaf_nbeta[CZfabetaf_index] = datafile_ny;
2041 if (CZfabetaf_first==true)
2043 if (CZfabetaf_nice == 1)
2045 CZfabetaf_na_nice = datafile_nxArray[1];
2046 CZfabetaf_nb_nice = datafile_ny;
2047 d_1_to_1(CZfabetaf_bArray_nice, datafile_yArray);
2048 for (i=1; i<=CZfabetaf_na_nice; i++)
2049 CZfabetaf_aArray_nice[i] = datafile_xArray[1][i];
2051 aeroLiftParts -> storeCommands (*command_line);
2052 CZfabetaf_first=false;
2058 int CZfadef_index, i;
2059 string CZfadef_file;
2061 CZfadef_file = aircraft_directory + linetoken3;
2062 token4 >> CZfadef_index;
2063 if (CZfadef_index < 0 || CZfadef_index >= 30)
2064 uiuc_warnings_errors(1, *command_line);
2065 if (CZfadef_index > CZfadef_nf)
2066 CZfadef_nf = CZfadef_index;
2067 token5 >> flap_value;
2068 CZfadef_fArray[CZfadef_index] = flap_value;
2069 token6 >> token_value_convert1;
2070 token7 >> token_value_convert2;
2071 token8 >> token_value_convert3;
2072 token9 >> CZfadef_nice;
2073 convert_z = uiuc_convert(token_value_convert1);
2074 convert_x = uiuc_convert(token_value_convert2);
2075 convert_y = uiuc_convert(token_value_convert3);
2076 /* call 2D File Reader with file name (CZfadef_file) and
2077 conversion factors; function returns array of
2078 elevator deflections (deArray) and corresponding
2079 alpha (aArray) and delta CZ (CZArray) values and
2080 max number of terms in alpha arrays (nAlphaArray)
2081 and delfection array (nde) */
2082 uiuc_2DdataFileReader(CZfadef_file,
2088 d_2_to_3(datafile_xArray, CZfadef_aArray, CZfadef_index);
2089 d_1_to_2(datafile_yArray, CZfadef_deArray, CZfadef_index);
2090 d_2_to_3(datafile_zArray, CZfadef_CZArray, CZfadef_index);
2091 i_1_to_2(datafile_nxArray, CZfadef_nAlphaArray, CZfadef_index);
2092 CZfadef_nde[CZfadef_index] = datafile_ny;
2093 if (CZfadef_first==true)
2095 if (CZfadef_nice == 1)
2097 CZfadef_na_nice = datafile_nxArray[1];
2098 CZfadef_nde_nice = datafile_ny;
2099 d_1_to_1(CZfadef_deArray_nice, datafile_yArray);
2100 for (i=1; i<=CZfadef_na_nice; i++)
2101 CZfadef_aArray_nice[i] = datafile_xArray[1][i];
2103 aeroLiftParts -> storeCommands (*command_line);
2104 CZfadef_first=false;
2110 int CZfaqf_index, i;
2113 CZfaqf_file = aircraft_directory + linetoken3;
2114 token4 >> CZfaqf_index;
2115 if (CZfaqf_index < 0 || CZfaqf_index >= 30)
2116 uiuc_warnings_errors(1, *command_line);
2117 if (CZfaqf_index > CZfaqf_nf)
2118 CZfaqf_nf = CZfaqf_index;
2119 token5 >> flap_value;
2120 CZfaqf_fArray[CZfaqf_index] = flap_value;
2121 token6 >> token_value_convert1;
2122 token7 >> token_value_convert2;
2123 token8 >> token_value_convert3;
2124 token9 >> CZfaqf_nice;
2125 convert_z = uiuc_convert(token_value_convert1);
2126 convert_x = uiuc_convert(token_value_convert2);
2127 convert_y = uiuc_convert(token_value_convert3);
2128 /* call 2D File Reader with file name (CZfaqf_file) and
2129 conversion factors; function returns array of
2130 pitch rate (qArray) and corresponding
2131 alpha (aArray) and delta CZ (CZArray) values and
2132 max number of terms in alpha arrays (nAlphaArray)
2133 and pitch rate array (nq) */
2134 uiuc_2DdataFileReader(CZfaqf_file,
2140 d_2_to_3(datafile_xArray, CZfaqf_aArray, CZfaqf_index);
2141 d_1_to_2(datafile_yArray, CZfaqf_qArray, CZfaqf_index);
2142 d_2_to_3(datafile_zArray, CZfaqf_CZArray, CZfaqf_index);
2143 i_1_to_2(datafile_nxArray, CZfaqf_nAlphaArray, CZfaqf_index);
2144 CZfaqf_nq[CZfaqf_index] = datafile_ny;
2145 if (CZfaqf_first==true)
2147 if (CZfaqf_nice == 1)
2149 CZfaqf_na_nice = datafile_nxArray[1];
2150 CZfaqf_nq_nice = datafile_ny;
2151 d_1_to_1(CZfaqf_qArray_nice, datafile_yArray);
2152 for (i=1; i<=CZfaqf_na_nice; i++)
2153 CZfaqf_aArray_nice[i] = datafile_xArray[1][i];
2155 aeroLiftParts -> storeCommands (*command_line);
2162 uiuc_warnings_errors(2, *command_line);
2172 switch(Cm_map[linetoken2])
2176 if (check_float(linetoken3))
2177 token3 >> token_value;
2179 uiuc_warnings_errors(1, *command_line);
2183 aeroPitchParts -> storeCommands (*command_line);
2188 if (check_float(linetoken3))
2189 token3 >> token_value;
2191 uiuc_warnings_errors(1, *command_line);
2195 aeroPitchParts -> storeCommands (*command_line);
2200 if (check_float(linetoken3))
2201 token3 >> token_value;
2203 uiuc_warnings_errors(1, *command_line);
2205 Cm_a2 = token_value;
2206 Cm_a2_clean = Cm_a2;
2207 aeroPitchParts -> storeCommands (*command_line);
2212 if (check_float(linetoken3))
2213 token3 >> token_value;
2215 uiuc_warnings_errors(1, *command_line);
2217 Cm_adot = token_value;
2218 Cm_adot_clean = Cm_adot;
2219 aeroPitchParts -> storeCommands (*command_line);
2224 if (check_float(linetoken3))
2225 token3 >> token_value;
2227 uiuc_warnings_errors(1, *command_line);
2231 aeroPitchParts -> storeCommands (*command_line);
2236 if (check_float(linetoken3))
2237 token3 >> token_value;
2239 uiuc_warnings_errors(1, *command_line);
2241 Cm_ih = token_value;
2242 aeroPitchParts -> storeCommands (*command_line);
2247 if (check_float(linetoken3))
2248 token3 >> token_value;
2250 uiuc_warnings_errors(1, *command_line);
2252 Cm_de = token_value;
2253 Cm_de_clean = Cm_de;
2254 aeroPitchParts -> storeCommands (*command_line);
2259 if (check_float(linetoken3))
2260 token3 >> token_value;
2262 uiuc_warnings_errors(1, *command_line);
2264 Cm_b2 = token_value;
2265 Cm_b2_clean = Cm_b2;
2266 aeroPitchParts -> storeCommands (*command_line);
2271 if (check_float(linetoken3))
2272 token3 >> token_value;
2274 uiuc_warnings_errors(1, *command_line);
2278 aeroPitchParts -> storeCommands (*command_line);
2283 if (check_float(linetoken3))
2284 token3 >> token_value;
2286 uiuc_warnings_errors(1, *command_line);
2288 Cm_df = token_value;
2289 Cm_df_clean = Cm_df;
2290 aeroPitchParts -> storeCommands (*command_line);
2295 Cmfa = aircraft_directory + linetoken3;
2296 token4 >> token_value_convert1;
2297 token5 >> token_value_convert2;
2298 convert_y = uiuc_convert(token_value_convert1);
2299 convert_x = uiuc_convert(token_value_convert2);
2300 /* call 1D File Reader with file name (Cmfa) and conversion
2301 factors; function returns array of alphas (aArray) and
2302 corresponding Cm values (CmArray) and max number of
2303 terms in arrays (nAlpha) */
2304 uiuc_1DdataFileReader(Cmfa,
2308 aeroPitchParts -> storeCommands (*command_line);
2313 Cmfade = aircraft_directory + linetoken3;
2314 token4 >> token_value_convert1;
2315 token5 >> token_value_convert2;
2316 token6 >> token_value_convert3;
2317 convert_z = uiuc_convert(token_value_convert1);
2318 convert_x = uiuc_convert(token_value_convert2);
2319 convert_y = uiuc_convert(token_value_convert3);
2320 /* call 2D File Reader with file name (Cmfade) and
2321 conversion factors; function returns array of
2322 elevator deflections (deArray) and corresponding
2323 alpha (aArray) and delta Cm (CmArray) values and
2324 max number of terms in alpha arrays (nAlphaArray)
2325 and deflection array (nde) */
2326 uiuc_2DdataFileReader(Cmfade,
2332 aeroPitchParts -> storeCommands (*command_line);
2337 Cmfdf = aircraft_directory + linetoken3;
2338 token4 >> token_value_convert1;
2339 token5 >> token_value_convert2;
2340 convert_y = uiuc_convert(token_value_convert1);
2341 convert_x = uiuc_convert(token_value_convert2);
2342 /* call 1D File Reader with file name (Cmfdf) and conversion
2343 factors; function returns array of dfs (dfArray) and
2344 corresponding Cm values (CmArray) and max number of
2345 terms in arrays (ndf) */
2346 uiuc_1DdataFileReader(Cmfdf,
2350 aeroPitchParts -> storeCommands (*command_line);
2355 Cmfadf = aircraft_directory + linetoken3;
2356 token4 >> token_value_convert1;
2357 token5 >> token_value_convert2;
2358 token6 >> token_value_convert3;
2359 convert_z = uiuc_convert(token_value_convert1);
2360 convert_x = uiuc_convert(token_value_convert2);
2361 convert_y = uiuc_convert(token_value_convert3);
2362 /* call 2D File Reader with file name (Cmfadf) and
2363 conversion factors; function returns array of
2364 flap deflections (dfArray) and corresponding
2365 alpha (aArray) and delta Cm (CmArray) values and
2366 max number of terms in alpha arrays (nAlphaArray)
2367 and deflection array (ndf) */
2368 uiuc_2DdataFileReader(Cmfadf,
2374 aeroPitchParts -> storeCommands (*command_line);
2377 case Cmfabetaf_flag:
2379 int Cmfabetaf_index, i;
2380 string Cmfabetaf_file;
2382 Cmfabetaf_file = aircraft_directory + linetoken3;
2383 token4 >> Cmfabetaf_index;
2384 if (Cmfabetaf_index < 0 || Cmfabetaf_index >= 30)
2385 uiuc_warnings_errors(1, *command_line);
2386 if (Cmfabetaf_index > Cmfabetaf_nf)
2387 Cmfabetaf_nf = Cmfabetaf_index;
2388 token5 >> flap_value;
2389 Cmfabetaf_fArray[Cmfabetaf_index] = flap_value;
2390 token6 >> token_value_convert1;
2391 token7 >> token_value_convert2;
2392 token8 >> token_value_convert3;
2393 token9 >> Cmfabetaf_nice;
2394 convert_z = uiuc_convert(token_value_convert1);
2395 convert_x = uiuc_convert(token_value_convert2);
2396 convert_y = uiuc_convert(token_value_convert3);
2397 /* call 2D File Reader with file name (Cmfabetaf_file) and
2398 conversion factors; function returns array of
2399 elevator deflections (deArray) and corresponding
2400 alpha (aArray) and delta CZ (CZArray) values and
2401 max number of terms in alpha arrays (nAlphaArray)
2402 and delfection array (nde) */
2403 uiuc_2DdataFileReader(Cmfabetaf_file,
2409 d_2_to_3(datafile_xArray, Cmfabetaf_aArray, Cmfabetaf_index);
2410 d_1_to_2(datafile_yArray, Cmfabetaf_betaArray, Cmfabetaf_index);
2411 d_2_to_3(datafile_zArray, Cmfabetaf_CmArray, Cmfabetaf_index);
2412 i_1_to_2(datafile_nxArray, Cmfabetaf_nAlphaArray, Cmfabetaf_index);
2413 Cmfabetaf_nbeta[Cmfabetaf_index] = datafile_ny;
2414 if (Cmfabetaf_first==true)
2416 if (Cmfabetaf_nice == 1)
2418 Cmfabetaf_na_nice = datafile_nxArray[1];
2419 Cmfabetaf_nb_nice = datafile_ny;
2420 d_1_to_1(Cmfabetaf_bArray_nice, datafile_yArray);
2421 for (i=1; i<=Cmfabetaf_na_nice; i++)
2422 Cmfabetaf_aArray_nice[i] = datafile_xArray[1][i];
2424 aeroPitchParts -> storeCommands (*command_line);
2425 Cmfabetaf_first=false;
2431 int Cmfadef_index, i;
2432 string Cmfadef_file;
2434 Cmfadef_file = aircraft_directory + linetoken3;
2435 token4 >> Cmfadef_index;
2436 if (Cmfadef_index < 0 || Cmfadef_index >= 30)
2437 uiuc_warnings_errors(1, *command_line);
2438 if (Cmfadef_index > Cmfadef_nf)
2439 Cmfadef_nf = Cmfadef_index;
2440 token5 >> flap_value;
2441 Cmfadef_fArray[Cmfadef_index] = flap_value;
2442 token6 >> token_value_convert1;
2443 token7 >> token_value_convert2;
2444 token8 >> token_value_convert3;
2445 token9 >> Cmfadef_nice;
2446 convert_z = uiuc_convert(token_value_convert1);
2447 convert_x = uiuc_convert(token_value_convert2);
2448 convert_y = uiuc_convert(token_value_convert3);
2449 /* call 2D File Reader with file name (Cmfadef_file) and
2450 conversion factors; function returns array of
2451 elevator deflections (deArray) and corresponding
2452 alpha (aArray) and delta CZ (CZArray) values and
2453 max number of terms in alpha arrays (nAlphaArray)
2454 and delfection array (nde) */
2455 uiuc_2DdataFileReader(Cmfadef_file,
2461 d_2_to_3(datafile_xArray, Cmfadef_aArray, Cmfadef_index);
2462 d_1_to_2(datafile_yArray, Cmfadef_deArray, Cmfadef_index);
2463 d_2_to_3(datafile_zArray, Cmfadef_CmArray, Cmfadef_index);
2464 i_1_to_2(datafile_nxArray, Cmfadef_nAlphaArray, Cmfadef_index);
2465 Cmfadef_nde[Cmfadef_index] = datafile_ny;
2466 if (Cmfadef_first==true)
2468 if (Cmfadef_nice == 1)
2470 Cmfadef_na_nice = datafile_nxArray[1];
2471 Cmfadef_nde_nice = datafile_ny;
2472 d_1_to_1(Cmfadef_deArray_nice, datafile_yArray);
2473 for (i=1; i<=Cmfadef_na_nice; i++)
2474 Cmfadef_aArray_nice[i] = datafile_xArray[1][i];
2476 aeroPitchParts -> storeCommands (*command_line);
2477 Cmfadef_first=false;
2483 int Cmfaqf_index, i;
2486 Cmfaqf_file = aircraft_directory + linetoken3;
2487 token4 >> Cmfaqf_index;
2488 if (Cmfaqf_index < 0 || Cmfaqf_index >= 30)
2489 uiuc_warnings_errors(1, *command_line);
2490 if (Cmfaqf_index > Cmfaqf_nf)
2491 Cmfaqf_nf = Cmfaqf_index;
2492 token5 >> flap_value;
2493 Cmfaqf_fArray[Cmfaqf_index] = flap_value;
2494 token6 >> token_value_convert1;
2495 token7 >> token_value_convert2;
2496 token8 >> token_value_convert3;
2497 token9 >> Cmfaqf_nice;
2498 convert_z = uiuc_convert(token_value_convert1);
2499 convert_x = uiuc_convert(token_value_convert2);
2500 convert_y = uiuc_convert(token_value_convert3);
2501 /* call 2D File Reader with file name (Cmfaqf_file) and
2502 conversion factors; function returns array of
2503 elevator deflections (deArray) and corresponding
2504 alpha (aArray) and delta CZ (CZArray) values and
2505 max number of terms in alpha arrays (nAlphaArray)
2506 and delfection array (nde) */
2507 uiuc_2DdataFileReader(Cmfaqf_file,
2513 d_2_to_3(datafile_xArray, Cmfaqf_aArray, Cmfaqf_index);
2514 d_1_to_2(datafile_yArray, Cmfaqf_qArray, Cmfaqf_index);
2515 d_2_to_3(datafile_zArray, Cmfaqf_CmArray, Cmfaqf_index);
2516 i_1_to_2(datafile_nxArray, Cmfaqf_nAlphaArray, Cmfaqf_index);
2517 Cmfaqf_nq[Cmfaqf_index] = datafile_ny;
2518 if (Cmfaqf_first==true)
2520 if (Cmfaqf_nice == 1)
2522 Cmfaqf_na_nice = datafile_nxArray[1];
2523 Cmfaqf_nq_nice = datafile_ny;
2524 d_1_to_1(Cmfaqf_qArray_nice, datafile_yArray);
2525 for (i=1; i<=Cmfaqf_na_nice; i++)
2526 Cmfaqf_aArray_nice[i] = datafile_xArray[1][i];
2528 aeroPitchParts -> storeCommands (*command_line);
2535 uiuc_warnings_errors(2, *command_line);
2545 switch(CY_map[linetoken2])
2549 if (check_float(linetoken3))
2550 token3 >> token_value;
2552 uiuc_warnings_errors(1, *command_line);
2556 aeroSideforceParts -> storeCommands (*command_line);
2561 if (check_float(linetoken3))
2562 token3 >> token_value;
2564 uiuc_warnings_errors(1, *command_line);
2566 CY_beta = token_value;
2567 CY_beta_clean = CY_beta;
2568 aeroSideforceParts -> storeCommands (*command_line);
2573 if (check_float(linetoken3))
2574 token3 >> token_value;
2576 uiuc_warnings_errors(1, *command_line);
2580 aeroSideforceParts -> storeCommands (*command_line);
2585 if (check_float(linetoken3))
2586 token3 >> token_value;
2588 uiuc_warnings_errors(1, *command_line);
2592 aeroSideforceParts -> storeCommands (*command_line);
2597 if (check_float(linetoken3))
2598 token3 >> token_value;
2600 uiuc_warnings_errors(1, *command_line);
2602 CY_da = token_value;
2603 CY_da_clean = CY_da;
2604 aeroSideforceParts -> storeCommands (*command_line);
2609 if (check_float(linetoken3))
2610 token3 >> token_value;
2612 uiuc_warnings_errors(2, *command_line);
2614 CY_dr = token_value;
2615 CY_dr_clean = CY_dr;
2616 aeroSideforceParts -> storeCommands (*command_line);
2621 if (check_float(linetoken3))
2622 token3 >> token_value;
2624 uiuc_warnings_errors(2, *command_line);
2626 CY_dra = token_value;
2627 CY_dra_clean = CY_dra;
2628 aeroSideforceParts -> storeCommands (*command_line);
2633 if (check_float(linetoken3))
2634 token3 >> token_value;
2636 uiuc_warnings_errors(2, *command_line);
2638 CY_bdot = token_value;
2639 CY_bdot_clean = CY_bdot;
2640 aeroSideforceParts -> storeCommands (*command_line);
2645 CYfada = aircraft_directory + linetoken3;
2646 token4 >> token_value_convert1;
2647 token5 >> token_value_convert2;
2648 token6 >> token_value_convert3;
2649 convert_z = uiuc_convert(token_value_convert1);
2650 convert_x = uiuc_convert(token_value_convert2);
2651 convert_y = uiuc_convert(token_value_convert3);
2652 /* call 2D File Reader with file name (CYfada) and
2653 conversion factors; function returns array of
2654 aileron deflections (daArray) and corresponding
2655 alpha (aArray) and delta CY (CYArray) values and
2656 max number of terms in alpha arrays (nAlphaArray)
2657 and deflection array (nda) */
2658 uiuc_2DdataFileReader(CYfada,
2664 aeroSideforceParts -> storeCommands (*command_line);
2667 case CYfbetadr_flag:
2669 CYfbetadr = aircraft_directory + linetoken3;
2670 token4 >> token_value_convert1;
2671 token5 >> token_value_convert2;
2672 token6 >> token_value_convert3;
2673 convert_z = uiuc_convert(token_value_convert1);
2674 convert_x = uiuc_convert(token_value_convert2);
2675 convert_y = uiuc_convert(token_value_convert3);
2676 /* call 2D File Reader with file name (CYfbetadr) and
2677 conversion factors; function returns array of
2678 rudder deflections (drArray) and corresponding
2679 beta (betaArray) and delta CY (CYArray) values and
2680 max number of terms in beta arrays (nBetaArray)
2681 and deflection array (ndr) */
2682 uiuc_2DdataFileReader(CYfbetadr,
2683 CYfbetadr_betaArray,
2686 CYfbetadr_nBetaArray,
2688 aeroSideforceParts -> storeCommands (*command_line);
2691 case CYfabetaf_flag:
2693 int CYfabetaf_index, i;
2694 string CYfabetaf_file;
2696 CYfabetaf_file = aircraft_directory + linetoken3;
2697 token4 >> CYfabetaf_index;
2698 if (CYfabetaf_index < 0 || CYfabetaf_index >= 30)
2699 uiuc_warnings_errors(1, *command_line);
2700 if (CYfabetaf_index > CYfabetaf_nf)
2701 CYfabetaf_nf = CYfabetaf_index;
2702 token5 >> flap_value;
2703 CYfabetaf_fArray[CYfabetaf_index] = flap_value;
2704 token6 >> token_value_convert1;
2705 token7 >> token_value_convert2;
2706 token8 >> token_value_convert3;
2707 token9 >> CYfabetaf_nice;
2708 convert_z = uiuc_convert(token_value_convert1);
2709 convert_x = uiuc_convert(token_value_convert2);
2710 convert_y = uiuc_convert(token_value_convert3);
2711 /* call 2D File Reader with file name (CYfabetaf_file) and
2712 conversion factors; function returns array of
2713 elevator deflections (deArray) and corresponding
2714 alpha (aArray) and delta CZ (CZArray) values and
2715 max number of terms in alpha arrays (nAlphaArray)
2716 and delfection array (nde) */
2717 uiuc_2DdataFileReader(CYfabetaf_file,
2723 d_2_to_3(datafile_xArray, CYfabetaf_aArray, CYfabetaf_index);
2724 d_1_to_2(datafile_yArray, CYfabetaf_betaArray, CYfabetaf_index);
2725 d_2_to_3(datafile_zArray, CYfabetaf_CYArray, CYfabetaf_index);
2726 i_1_to_2(datafile_nxArray, CYfabetaf_nAlphaArray, CYfabetaf_index);
2727 CYfabetaf_nbeta[CYfabetaf_index] = datafile_ny;
2728 if (CYfabetaf_first==true)
2730 if (CYfabetaf_nice == 1)
2732 CYfabetaf_na_nice = datafile_nxArray[1];
2733 CYfabetaf_nb_nice = datafile_ny;
2734 d_1_to_1(CYfabetaf_bArray_nice, datafile_yArray);
2735 for (i=1; i<=CYfabetaf_na_nice; i++)
2736 CYfabetaf_aArray_nice[i] = datafile_xArray[1][i];
2738 aeroSideforceParts -> storeCommands (*command_line);
2739 CYfabetaf_first=false;
2745 int CYfadaf_index, i;
2746 string CYfadaf_file;
2748 CYfadaf_file = aircraft_directory + linetoken3;
2749 token4 >> CYfadaf_index;
2750 if (CYfadaf_index < 0 || CYfadaf_index >= 30)
2751 uiuc_warnings_errors(1, *command_line);
2752 if (CYfadaf_index > CYfadaf_nf)
2753 CYfadaf_nf = CYfadaf_index;
2754 token5 >> flap_value;
2755 CYfadaf_fArray[CYfadaf_index] = flap_value;
2756 token6 >> token_value_convert1;
2757 token7 >> token_value_convert2;
2758 token8 >> token_value_convert3;
2759 token9 >> CYfadaf_nice;
2760 convert_z = uiuc_convert(token_value_convert1);
2761 convert_x = uiuc_convert(token_value_convert2);
2762 convert_y = uiuc_convert(token_value_convert3);
2763 /* call 2D File Reader with file name (CYfadaf_file) and
2764 conversion factors; function returns array of
2765 elevator deflections (deArray) and corresponding
2766 alpha (aArray) and delta CZ (CZArray) values and
2767 max number of terms in alpha arrays (nAlphaArray)
2768 and delfection array (nde) */
2769 uiuc_2DdataFileReader(CYfadaf_file,
2775 d_2_to_3(datafile_xArray, CYfadaf_aArray, CYfadaf_index);
2776 d_1_to_2(datafile_yArray, CYfadaf_daArray, CYfadaf_index);
2777 d_2_to_3(datafile_zArray, CYfadaf_CYArray, CYfadaf_index);
2778 i_1_to_2(datafile_nxArray, CYfadaf_nAlphaArray, CYfadaf_index);
2779 CYfadaf_nda[CYfadaf_index] = datafile_ny;
2780 if (CYfadaf_first==true)
2782 if (CYfadaf_nice == 1)
2784 CYfadaf_na_nice = datafile_nxArray[1];
2785 CYfadaf_nda_nice = datafile_ny;
2786 d_1_to_1(CYfadaf_daArray_nice, datafile_yArray);
2787 for (i=1; i<=CYfadaf_na_nice; i++)
2788 CYfadaf_aArray_nice[i] = datafile_xArray[1][i];
2790 aeroSideforceParts -> storeCommands (*command_line);
2791 CYfadaf_first=false;
2797 int CYfadrf_index, i;
2798 string CYfadrf_file;
2800 CYfadrf_file = aircraft_directory + linetoken3;
2801 token4 >> CYfadrf_index;
2802 if (CYfadrf_index < 0 || CYfadrf_index >= 30)
2803 uiuc_warnings_errors(1, *command_line);
2804 if (CYfadrf_index > CYfadrf_nf)
2805 CYfadrf_nf = CYfadrf_index;
2806 token5 >> flap_value;
2807 CYfadrf_fArray[CYfadrf_index] = flap_value;
2808 token6 >> token_value_convert1;
2809 token7 >> token_value_convert2;
2810 token8 >> token_value_convert3;
2811 token9 >> CYfadrf_nice;
2812 convert_z = uiuc_convert(token_value_convert1);
2813 convert_x = uiuc_convert(token_value_convert2);
2814 convert_y = uiuc_convert(token_value_convert3);
2815 /* call 2D File Reader with file name (CYfadrf_file) and
2816 conversion factors; function returns array of
2817 elevator deflections (deArray) and corresponding
2818 alpha (aArray) and delta CZ (CZArray) values and
2819 max number of terms in alpha arrays (nAlphaArray)
2820 and delfection array (nde) */
2821 uiuc_2DdataFileReader(CYfadrf_file,
2827 d_2_to_3(datafile_xArray, CYfadrf_aArray, CYfadrf_index);
2828 d_1_to_2(datafile_yArray, CYfadrf_drArray, CYfadrf_index);
2829 d_2_to_3(datafile_zArray, CYfadrf_CYArray, CYfadrf_index);
2830 i_1_to_2(datafile_nxArray, CYfadrf_nAlphaArray, CYfadrf_index);
2831 CYfadrf_ndr[CYfadrf_index] = datafile_ny;
2832 if (CYfadrf_first==true)
2834 if (CYfadrf_nice == 1)
2836 CYfadrf_na_nice = datafile_nxArray[1];
2837 CYfadrf_ndr_nice = datafile_ny;
2838 d_1_to_1(CYfadrf_drArray_nice, datafile_yArray);
2839 for (i=1; i<=CYfadrf_na_nice; i++)
2840 CYfadrf_aArray_nice[i] = datafile_xArray[1][i];
2842 aeroSideforceParts -> storeCommands (*command_line);
2843 CYfadrf_first=false;
2849 int CYfapf_index, i;
2852 CYfapf_file = aircraft_directory + linetoken3;
2853 token4 >> CYfapf_index;
2854 if (CYfapf_index < 0 || CYfapf_index >= 30)
2855 uiuc_warnings_errors(1, *command_line);
2856 if (CYfapf_index > CYfapf_nf)
2857 CYfapf_nf = CYfapf_index;
2858 token5 >> flap_value;
2859 CYfapf_fArray[CYfapf_index] = flap_value;
2860 token6 >> token_value_convert1;
2861 token7 >> token_value_convert2;
2862 token8 >> token_value_convert3;
2863 token9 >> CYfapf_nice;
2864 convert_z = uiuc_convert(token_value_convert1);
2865 convert_x = uiuc_convert(token_value_convert2);
2866 convert_y = uiuc_convert(token_value_convert3);
2867 /* call 2D File Reader with file name (CYfapf_file) and
2868 conversion factors; function returns array of
2869 elevator deflections (deArray) and corresponding
2870 alpha (aArray) and delta CZ (CZArray) values and
2871 max number of terms in alpha arrays (nAlphaArray)
2872 and delfection array (nde) */
2873 uiuc_2DdataFileReader(CYfapf_file,
2879 d_2_to_3(datafile_xArray, CYfapf_aArray, CYfapf_index);
2880 d_1_to_2(datafile_yArray, CYfapf_pArray, CYfapf_index);
2881 d_2_to_3(datafile_zArray, CYfapf_CYArray, CYfapf_index);
2882 i_1_to_2(datafile_nxArray, CYfapf_nAlphaArray, CYfapf_index);
2883 CYfapf_np[CYfapf_index] = datafile_ny;
2884 if (CYfapf_first==true)
2886 if (CYfapf_nice == 1)
2888 CYfapf_na_nice = datafile_nxArray[1];
2889 CYfapf_np_nice = datafile_ny;
2890 d_1_to_1(CYfapf_pArray_nice, datafile_yArray);
2891 for (i=1; i<=CYfapf_na_nice; i++)
2892 CYfapf_aArray_nice[i] = datafile_xArray[1][i];
2894 aeroSideforceParts -> storeCommands (*command_line);
2901 int CYfarf_index, i;
2904 CYfarf_file = aircraft_directory + linetoken3;
2905 token4 >> CYfarf_index;
2906 if (CYfarf_index < 0 || CYfarf_index >= 30)
2907 uiuc_warnings_errors(1, *command_line);
2908 if (CYfarf_index > CYfarf_nf)
2909 CYfarf_nf = CYfarf_index;
2910 token5 >> flap_value;
2911 CYfarf_fArray[CYfarf_index] = flap_value;
2912 token6 >> token_value_convert1;
2913 token7 >> token_value_convert2;
2914 token8 >> token_value_convert3;
2915 token9 >> CYfarf_nice;
2916 convert_z = uiuc_convert(token_value_convert1);
2917 convert_x = uiuc_convert(token_value_convert2);
2918 convert_y = uiuc_convert(token_value_convert3);
2919 /* call 2D File Reader with file name (CYfarf_file) and
2920 conversion factors; function returns array of
2921 elevator deflections (deArray) and corresponding
2922 alpha (aArray) and delta CZ (CZArray) values and
2923 max number of terms in alpha arrays (nAlphaArray)
2924 and delfection array (nde) */
2925 uiuc_2DdataFileReader(CYfarf_file,
2931 d_2_to_3(datafile_xArray, CYfarf_aArray, CYfarf_index);
2932 d_1_to_2(datafile_yArray, CYfarf_rArray, CYfarf_index);
2933 d_2_to_3(datafile_zArray, CYfarf_CYArray, CYfarf_index);
2934 i_1_to_2(datafile_nxArray, CYfarf_nAlphaArray, CYfarf_index);
2935 CYfarf_nr[CYfarf_index] = datafile_ny;
2936 if (CYfarf_first==true)
2938 if (CYfarf_nice == 1)
2940 CYfarf_na_nice = datafile_nxArray[1];
2941 CYfarf_nr_nice = datafile_ny;
2942 d_1_to_1(CYfarf_rArray_nice, datafile_yArray);
2943 for (i=1; i<=CYfarf_na_nice; i++)
2944 CYfarf_aArray_nice[i] = datafile_xArray[1][i];
2946 aeroSideforceParts -> storeCommands (*command_line);
2953 uiuc_warnings_errors(2, *command_line);
2963 switch(Cl_map[linetoken2])
2967 if (check_float(linetoken3))
2968 token3 >> token_value;
2970 uiuc_warnings_errors(1, *command_line);
2974 aeroRollParts -> storeCommands (*command_line);
2979 if (check_float(linetoken3))
2980 token3 >> token_value;
2982 uiuc_warnings_errors(1, *command_line);
2984 Cl_beta = token_value;
2985 Cl_beta_clean = Cl_beta;
2986 aeroRollParts -> storeCommands (*command_line);
2991 if (check_float(linetoken3))
2992 token3 >> token_value;
2994 uiuc_warnings_errors(1, *command_line);
2998 aeroRollParts -> storeCommands (*command_line);
3003 if (check_float(linetoken3))
3004 token3 >> token_value;
3006 uiuc_warnings_errors(1, *command_line);
3010 aeroRollParts -> storeCommands (*command_line);
3015 if (check_float(linetoken3))
3016 token3 >> token_value;
3018 uiuc_warnings_errors(1, *command_line);
3020 Cl_da = token_value;
3021 Cl_da_clean = Cl_da;
3022 aeroRollParts -> storeCommands (*command_line);
3027 if (check_float(linetoken3))
3028 token3 >> token_value;
3030 uiuc_warnings_errors(1, *command_line);
3032 Cl_dr = token_value;
3033 Cl_dr_clean = Cl_dr;
3034 aeroRollParts -> storeCommands (*command_line);
3039 if (check_float(linetoken3))
3040 token3 >> token_value;
3042 uiuc_warnings_errors(1, *command_line);
3044 Cl_daa = token_value;
3045 Cl_daa_clean = Cl_daa;
3046 aeroRollParts -> storeCommands (*command_line);
3051 Clfada = aircraft_directory + linetoken3;
3052 token4 >> token_value_convert1;
3053 token5 >> token_value_convert2;
3054 token6 >> token_value_convert3;
3055 convert_z = uiuc_convert(token_value_convert1);
3056 convert_x = uiuc_convert(token_value_convert2);
3057 convert_y = uiuc_convert(token_value_convert3);
3058 /* call 2D File Reader with file name (Clfada) and
3059 conversion factors; function returns array of
3060 aileron deflections (daArray) and corresponding
3061 alpha (aArray) and delta Cl (ClArray) values and
3062 max number of terms in alpha arrays (nAlphaArray)
3063 and deflection array (nda) */
3064 uiuc_2DdataFileReader(Clfada,
3070 aeroRollParts -> storeCommands (*command_line);
3073 case Clfbetadr_flag:
3075 Clfbetadr = aircraft_directory + linetoken3;
3076 token4 >> token_value_convert1;
3077 token5 >> token_value_convert2;
3078 token6 >> token_value_convert3;
3079 convert_z = uiuc_convert(token_value_convert1);
3080 convert_x = uiuc_convert(token_value_convert2);
3081 convert_y = uiuc_convert(token_value_convert3);
3082 /* call 2D File Reader with file name (Clfbetadr) and
3083 conversion factors; function returns array of
3084 rudder deflections (drArray) and corresponding
3085 beta (betaArray) and delta Cl (ClArray) values and
3086 max number of terms in beta arrays (nBetaArray)
3087 and deflection array (ndr) */
3088 uiuc_2DdataFileReader(Clfbetadr,
3089 Clfbetadr_betaArray,
3092 Clfbetadr_nBetaArray,
3094 aeroRollParts -> storeCommands (*command_line);
3097 case Clfabetaf_flag:
3099 int Clfabetaf_index, i;
3100 string Clfabetaf_file;
3102 Clfabetaf_file = aircraft_directory + linetoken3;
3103 token4 >> Clfabetaf_index;
3104 if (Clfabetaf_index < 0 || Clfabetaf_index >= 100)
3105 uiuc_warnings_errors(1, *command_line);
3106 if (Clfabetaf_index > Clfabetaf_nf)
3107 Clfabetaf_nf = Clfabetaf_index;
3108 token5 >> flap_value;
3109 Clfabetaf_fArray[Clfabetaf_index] = flap_value;
3110 token6 >> token_value_convert1;
3111 token7 >> token_value_convert2;
3112 token8 >> token_value_convert3;
3113 token9 >> Clfabetaf_nice;
3114 convert_z = uiuc_convert(token_value_convert1);
3115 convert_x = uiuc_convert(token_value_convert2);
3116 convert_y = uiuc_convert(token_value_convert3);
3117 /* call 2D File Reader with file name (Clfabetaf_file) and
3118 conversion factors; function returns array of
3119 elevator deflections (deArray) and corresponding
3120 alpha (aArray) and delta CZ (CZArray) values and
3121 max number of terms in alpha arrays (nAlphaArray)
3122 and delfection array (nde) */
3123 uiuc_2DdataFileReader(Clfabetaf_file,
3129 d_2_to_3(datafile_xArray, Clfabetaf_aArray, Clfabetaf_index);
3130 d_1_to_2(datafile_yArray, Clfabetaf_betaArray, Clfabetaf_index);
3131 d_2_to_3(datafile_zArray, Clfabetaf_ClArray, Clfabetaf_index);
3132 i_1_to_2(datafile_nxArray, Clfabetaf_nAlphaArray, Clfabetaf_index);
3133 Clfabetaf_nbeta[Clfabetaf_index] = datafile_ny;
3134 if (Clfabetaf_first==true)
3136 if (Clfabetaf_nice == 1)
3138 Clfabetaf_na_nice = datafile_nxArray[1];
3139 Clfabetaf_nb_nice = datafile_ny;
3140 d_1_to_1(Clfabetaf_bArray_nice, datafile_yArray);
3141 for (i=1; i<=Clfabetaf_na_nice; i++)
3142 Clfabetaf_aArray_nice[i] = datafile_xArray[1][i];
3144 aeroRollParts -> storeCommands (*command_line);
3145 Clfabetaf_first=false;
3151 int Clfadaf_index, i;
3152 string Clfadaf_file;
3154 Clfadaf_file = aircraft_directory + linetoken3;
3155 token4 >> Clfadaf_index;
3156 if (Clfadaf_index < 0 || Clfadaf_index >= 100)
3157 uiuc_warnings_errors(1, *command_line);
3158 if (Clfadaf_index > Clfadaf_nf)
3159 Clfadaf_nf = Clfadaf_index;
3160 token5 >> flap_value;
3161 Clfadaf_fArray[Clfadaf_index] = flap_value;
3162 token6 >> token_value_convert1;
3163 token7 >> token_value_convert2;
3164 token8 >> token_value_convert3;
3165 token9 >> Clfadaf_nice;
3166 convert_z = uiuc_convert(token_value_convert1);
3167 convert_x = uiuc_convert(token_value_convert2);
3168 convert_y = uiuc_convert(token_value_convert3);
3169 /* call 2D File Reader with file name (Clfadaf_file) and
3170 conversion factors; function returns array of
3171 elevator deflections (deArray) and corresponding
3172 alpha (aArray) and delta CZ (CZArray) values and
3173 max number of terms in alpha arrays (nAlphaArray)
3174 and delfection array (nde) */
3175 uiuc_2DdataFileReader(Clfadaf_file,
3181 d_2_to_3(datafile_xArray, Clfadaf_aArray, Clfadaf_index);
3182 d_1_to_2(datafile_yArray, Clfadaf_daArray, Clfadaf_index);
3183 d_2_to_3(datafile_zArray, Clfadaf_ClArray, Clfadaf_index);
3184 i_1_to_2(datafile_nxArray, Clfadaf_nAlphaArray, Clfadaf_index);
3185 Clfadaf_nda[Clfadaf_index] = datafile_ny;
3186 if (Clfadaf_first==true)
3188 if (Clfadaf_nice == 1)
3190 Clfadaf_na_nice = datafile_nxArray[1];
3191 Clfadaf_nda_nice = datafile_ny;
3192 d_1_to_1(Clfadaf_daArray_nice, datafile_yArray);
3193 for (i=1; i<=Clfadaf_na_nice; i++)
3194 Clfadaf_aArray_nice[i] = datafile_xArray[1][i];
3196 aeroRollParts -> storeCommands (*command_line);
3197 Clfadaf_first=false;
3203 int Clfadrf_index, i;
3204 string Clfadrf_file;
3206 Clfadrf_file = aircraft_directory + linetoken3;
3207 token4 >> Clfadrf_index;
3208 if (Clfadrf_index < 0 || Clfadrf_index >= 100)
3209 uiuc_warnings_errors(1, *command_line);
3210 if (Clfadrf_index > Clfadrf_nf)
3211 Clfadrf_nf = Clfadrf_index;
3212 token5 >> flap_value;
3213 Clfadrf_fArray[Clfadrf_index] = flap_value;
3214 token6 >> token_value_convert1;
3215 token7 >> token_value_convert2;
3216 token8 >> token_value_convert3;
3217 token9 >> Clfadrf_nice;
3218 convert_z = uiuc_convert(token_value_convert1);
3219 convert_x = uiuc_convert(token_value_convert2);
3220 convert_y = uiuc_convert(token_value_convert3);
3221 /* call 2D File Reader with file name (Clfadrf_file) and
3222 conversion factors; function returns array of
3223 elevator deflections (deArray) and corresponding
3224 alpha (aArray) and delta CZ (CZArray) values and
3225 max number of terms in alpha arrays (nAlphaArray)
3226 and delfection array (nde) */
3227 uiuc_2DdataFileReader(Clfadrf_file,
3233 d_2_to_3(datafile_xArray, Clfadrf_aArray, Clfadrf_index);
3234 d_1_to_2(datafile_yArray, Clfadrf_drArray, Clfadrf_index);
3235 d_2_to_3(datafile_zArray, Clfadrf_ClArray, Clfadrf_index);
3236 i_1_to_2(datafile_nxArray, Clfadrf_nAlphaArray, Clfadrf_index);
3237 Clfadrf_ndr[Clfadrf_index] = datafile_ny;
3238 if (Clfadrf_first==true)
3240 if (Clfadrf_nice == 1)
3242 Clfadrf_na_nice = datafile_nxArray[1];
3243 Clfadrf_ndr_nice = datafile_ny;
3244 d_1_to_1(Clfadrf_drArray_nice, datafile_yArray);
3245 for (i=1; i<=Clfadrf_na_nice; i++)
3246 Clfadrf_aArray_nice[i] = datafile_xArray[1][i];
3248 aeroRollParts -> storeCommands (*command_line);
3249 Clfadrf_first=false;
3255 int Clfapf_index, i;
3258 Clfapf_file = aircraft_directory + linetoken3;
3259 token4 >> Clfapf_index;
3260 if (Clfapf_index < 0 || Clfapf_index >= 100)
3261 uiuc_warnings_errors(1, *command_line);
3262 if (Clfapf_index > Clfapf_nf)
3263 Clfapf_nf = Clfapf_index;
3264 token5 >> flap_value;
3265 Clfapf_fArray[Clfapf_index] = flap_value;
3266 token6 >> token_value_convert1;
3267 token7 >> token_value_convert2;
3268 token8 >> token_value_convert3;
3269 token9 >> Clfapf_nice;
3270 convert_z = uiuc_convert(token_value_convert1);
3271 convert_x = uiuc_convert(token_value_convert2);
3272 convert_y = uiuc_convert(token_value_convert3);
3273 /* call 2D File Reader with file name (Clfapf_file) and
3274 conversion factors; function returns array of
3275 elevator deflections (deArray) and corresponding
3276 alpha (aArray) and delta CZ (CZArray) values and
3277 max number of terms in alpha arrays (nAlphaArray)
3278 and delfection array (nde) */
3279 uiuc_2DdataFileReader(Clfapf_file,
3285 d_2_to_3(datafile_xArray, Clfapf_aArray, Clfapf_index);
3286 d_1_to_2(datafile_yArray, Clfapf_pArray, Clfapf_index);
3287 d_2_to_3(datafile_zArray, Clfapf_ClArray, Clfapf_index);
3288 i_1_to_2(datafile_nxArray, Clfapf_nAlphaArray, Clfapf_index);
3289 Clfapf_np[Clfapf_index] = datafile_ny;
3290 if (Clfapf_first==true)
3292 if (Clfapf_nice == 1)
3294 Clfapf_na_nice = datafile_nxArray[1];
3295 Clfapf_np_nice = datafile_ny;
3296 d_1_to_1(Clfapf_pArray_nice, datafile_yArray);
3297 for (i=1; i<=Clfapf_na_nice; i++)
3298 Clfapf_aArray_nice[i] = datafile_xArray[1][i];
3300 aeroRollParts -> storeCommands (*command_line);
3307 int Clfarf_index, i;
3310 Clfarf_file = aircraft_directory + linetoken3;
3311 token4 >> Clfarf_index;
3312 if (Clfarf_index < 0 || Clfarf_index >= 100)
3313 uiuc_warnings_errors(1, *command_line);
3314 if (Clfarf_index > Clfarf_nf)
3315 Clfarf_nf = Clfarf_index;
3316 token5 >> flap_value;
3317 Clfarf_fArray[Clfarf_index] = flap_value;
3318 token6 >> token_value_convert1;
3319 token7 >> token_value_convert2;
3320 token8 >> token_value_convert3;
3321 token9 >> Clfarf_nice;
3322 convert_z = uiuc_convert(token_value_convert1);
3323 convert_x = uiuc_convert(token_value_convert2);
3324 convert_y = uiuc_convert(token_value_convert3);
3325 /* call 2D File Reader with file name (Clfarf_file) and
3326 conversion factors; function returns array of
3327 elevator deflections (deArray) and corresponding
3328 alpha (aArray) and delta CZ (CZArray) values and
3329 max number of terms in alpha arrays (nAlphaArray)
3330 and delfection array (nde) */
3331 uiuc_2DdataFileReader(Clfarf_file,
3337 d_2_to_3(datafile_xArray, Clfarf_aArray, Clfarf_index);
3338 d_1_to_2(datafile_yArray, Clfarf_rArray, Clfarf_index);
3339 d_2_to_3(datafile_zArray, Clfarf_ClArray, Clfarf_index);
3340 i_1_to_2(datafile_nxArray, Clfarf_nAlphaArray, Clfarf_index);
3341 Clfarf_nr[Clfarf_index] = datafile_ny;
3342 if (Clfarf_first==true)
3344 if (Clfarf_nice == 1)
3346 Clfarf_na_nice = datafile_nxArray[1];
3347 Clfarf_nr_nice = datafile_ny;
3348 d_1_to_1(Clfarf_rArray_nice, datafile_yArray);
3349 for (i=1; i<=Clfarf_na_nice; i++)
3350 Clfarf_aArray_nice[i] = datafile_xArray[1][i];
3352 aeroRollParts -> storeCommands (*command_line);
3359 uiuc_warnings_errors(2, *command_line);
3369 switch(Cn_map[linetoken2])
3373 if (check_float(linetoken3))
3374 token3 >> token_value;
3376 uiuc_warnings_errors(1, *command_line);
3380 aeroYawParts -> storeCommands (*command_line);
3385 if (check_float(linetoken3))
3386 token3 >> token_value;
3388 uiuc_warnings_errors(1, *command_line);
3390 Cn_beta = token_value;
3391 Cn_beta_clean = Cn_beta;
3392 aeroYawParts -> storeCommands (*command_line);
3397 if (check_float(linetoken3))
3398 token3 >> token_value;
3400 uiuc_warnings_errors(1, *command_line);
3404 aeroYawParts -> storeCommands (*command_line);
3409 if (check_float(linetoken3))
3410 token3 >> token_value;
3412 uiuc_warnings_errors(1, *command_line);
3416 aeroYawParts -> storeCommands (*command_line);
3421 if (check_float(linetoken3))
3422 token3 >> token_value;
3424 uiuc_warnings_errors(1, *command_line);
3426 Cn_da = token_value;
3427 Cn_da_clean = Cn_da;
3428 aeroYawParts -> storeCommands (*command_line);
3433 if (check_float(linetoken3))
3434 token3 >> token_value;
3436 uiuc_warnings_errors(1, *command_line);
3438 Cn_dr = token_value;
3439 Cn_dr_clean = Cn_dr;
3440 aeroYawParts -> storeCommands (*command_line);
3445 if (check_float(linetoken3))
3446 token3 >> token_value;
3448 uiuc_warnings_errors(1, *command_line);
3452 aeroYawParts -> storeCommands (*command_line);
3457 if (check_float(linetoken3))
3458 token3 >> token_value;
3460 uiuc_warnings_errors(1, *command_line);
3462 Cn_b3 = token_value;
3463 Cn_b3_clean = Cn_b3;
3464 aeroYawParts -> storeCommands (*command_line);
3469 Cnfada = aircraft_directory + linetoken3;
3470 token4 >> token_value_convert1;
3471 token5 >> token_value_convert2;
3472 token6 >> token_value_convert3;
3473 convert_z = uiuc_convert(token_value_convert1);
3474 convert_x = uiuc_convert(token_value_convert2);
3475 convert_y = uiuc_convert(token_value_convert3);
3476 /* call 2D File Reader with file name (Cnfada) and
3477 conversion factors; function returns array of
3478 aileron deflections (daArray) and corresponding
3479 alpha (aArray) and delta Cn (CnArray) values and
3480 max number of terms in alpha arrays (nAlphaArray)
3481 and deflection array (nda) */
3482 uiuc_2DdataFileReader(Cnfada,
3488 aeroYawParts -> storeCommands (*command_line);
3491 case Cnfbetadr_flag:
3493 Cnfbetadr = aircraft_directory + linetoken3;
3494 token4 >> token_value_convert1;
3495 token5 >> token_value_convert2;
3496 token6 >> token_value_convert3;
3497 convert_z = uiuc_convert(token_value_convert1);
3498 convert_x = uiuc_convert(token_value_convert2);
3499 convert_y = uiuc_convert(token_value_convert3);
3500 /* call 2D File Reader with file name (Cnfbetadr) and
3501 conversion factors; function returns array of
3502 rudder deflections (drArray) and corresponding
3503 beta (betaArray) and delta Cn (CnArray) values and
3504 max number of terms in beta arrays (nBetaArray)
3505 and deflection array (ndr) */
3506 uiuc_2DdataFileReader(Cnfbetadr,
3507 Cnfbetadr_betaArray,
3510 Cnfbetadr_nBetaArray,
3512 aeroYawParts -> storeCommands (*command_line);
3515 case Cnfabetaf_flag:
3517 int Cnfabetaf_index, i;
3518 string Cnfabetaf_file;
3520 Cnfabetaf_file = aircraft_directory + linetoken3;
3521 token4 >> Cnfabetaf_index;
3522 if (Cnfabetaf_index < 0 || Cnfabetaf_index >= 100)
3523 uiuc_warnings_errors(1, *command_line);
3524 if (Cnfabetaf_index > Cnfabetaf_nf)
3525 Cnfabetaf_nf = Cnfabetaf_index;
3526 token5 >> flap_value;
3527 Cnfabetaf_fArray[Cnfabetaf_index] = flap_value;
3528 token6 >> token_value_convert1;
3529 token7 >> token_value_convert2;
3530 token8 >> token_value_convert3;
3531 token9 >> Cnfabetaf_nice;
3532 convert_z = uiuc_convert(token_value_convert1);
3533 convert_x = uiuc_convert(token_value_convert2);
3534 convert_y = uiuc_convert(token_value_convert3);
3535 /* call 2D File Reader with file name (Cnfabetaf_file) and
3536 conversion factors; function returns array of
3537 elevator deflections (deArray) and corresponding
3538 alpha (aArray) and delta CZ (CZArray) values and
3539 max number of terms in alpha arrays (nAlphaArray)
3540 and delfection array (nde) */
3541 uiuc_2DdataFileReader(Cnfabetaf_file,
3547 d_2_to_3(datafile_xArray, Cnfabetaf_aArray, Cnfabetaf_index);
3548 d_1_to_2(datafile_yArray, Cnfabetaf_betaArray, Cnfabetaf_index);
3549 d_2_to_3(datafile_zArray, Cnfabetaf_CnArray, Cnfabetaf_index);
3550 i_1_to_2(datafile_nxArray, Cnfabetaf_nAlphaArray, Cnfabetaf_index);
3551 Cnfabetaf_nbeta[Cnfabetaf_index] = datafile_ny;
3552 if (Cnfabetaf_first==true)
3554 if (Cnfabetaf_nice == 1)
3556 Cnfabetaf_na_nice = datafile_nxArray[1];
3557 Cnfabetaf_nb_nice = datafile_ny;
3558 d_1_to_1(Cnfabetaf_bArray_nice, datafile_yArray);
3559 for (i=1; i<=Cnfabetaf_na_nice; i++)
3560 Cnfabetaf_aArray_nice[i] = datafile_xArray[1][i];
3562 aeroYawParts -> storeCommands (*command_line);
3563 Cnfabetaf_first=false;
3569 int Cnfadaf_index, i;
3570 string Cnfadaf_file;
3572 Cnfadaf_file = aircraft_directory + linetoken3;
3573 token4 >> Cnfadaf_index;
3574 if (Cnfadaf_index < 0 || Cnfadaf_index >= 100)
3575 uiuc_warnings_errors(1, *command_line);
3576 if (Cnfadaf_index > Cnfadaf_nf)
3577 Cnfadaf_nf = Cnfadaf_index;
3578 token5 >> flap_value;
3579 Cnfadaf_fArray[Cnfadaf_index] = flap_value;
3580 token6 >> token_value_convert1;
3581 token7 >> token_value_convert2;
3582 token8 >> token_value_convert3;
3583 token9 >> Cnfadaf_nice;
3584 convert_z = uiuc_convert(token_value_convert1);
3585 convert_x = uiuc_convert(token_value_convert2);
3586 convert_y = uiuc_convert(token_value_convert3);
3587 /* call 2D File Reader with file name (Cnfadaf_file) and
3588 conversion factors; function returns array of
3589 elevator deflections (deArray) and corresponding
3590 alpha (aArray) and delta CZ (CZArray) values and
3591 max number of terms in alpha arrays (nAlphaArray)
3592 and delfection array (nde) */
3593 uiuc_2DdataFileReader(Cnfadaf_file,
3599 d_2_to_3(datafile_xArray, Cnfadaf_aArray, Cnfadaf_index);
3600 d_1_to_2(datafile_yArray, Cnfadaf_daArray, Cnfadaf_index);
3601 d_2_to_3(datafile_zArray, Cnfadaf_CnArray, Cnfadaf_index);
3602 i_1_to_2(datafile_nxArray, Cnfadaf_nAlphaArray, Cnfadaf_index);
3603 Cnfadaf_nda[Cnfadaf_index] = datafile_ny;
3604 if (Cnfadaf_first==true)
3606 if (Cnfadaf_nice == 1)
3608 Cnfadaf_na_nice = datafile_nxArray[1];
3609 Cnfadaf_nda_nice = datafile_ny;
3610 d_1_to_1(Cnfadaf_daArray_nice, datafile_yArray);
3611 for (i=1; i<=Cnfadaf_na_nice; i++)
3612 Cnfadaf_aArray_nice[i] = datafile_xArray[1][i];
3614 aeroYawParts -> storeCommands (*command_line);
3615 Cnfadaf_first=false;
3621 int Cnfadrf_index, i;
3622 string Cnfadrf_file;
3624 Cnfadrf_file = aircraft_directory + linetoken3;
3625 token4 >> Cnfadrf_index;
3626 if (Cnfadrf_index < 0 || Cnfadrf_index >= 100)
3627 uiuc_warnings_errors(1, *command_line);
3628 if (Cnfadrf_index > Cnfadrf_nf)
3629 Cnfadrf_nf = Cnfadrf_index;
3630 token5 >> flap_value;
3631 Cnfadrf_fArray[Cnfadrf_index] = flap_value;
3632 token6 >> token_value_convert1;
3633 token7 >> token_value_convert2;
3634 token8 >> token_value_convert3;
3635 token9 >> Cnfadrf_nice;
3636 convert_z = uiuc_convert(token_value_convert1);
3637 convert_x = uiuc_convert(token_value_convert2);
3638 convert_y = uiuc_convert(token_value_convert3);
3639 /* call 2D File Reader with file name (Cnfadrf_file) and
3640 conversion factors; function returns array of
3641 elevator deflections (deArray) and corresponding
3642 alpha (aArray) and delta CZ (CZArray) values and
3643 max number of terms in alpha arrays (nAlphaArray)
3644 and delfection array (nde) */
3645 uiuc_2DdataFileReader(Cnfadrf_file,
3651 d_2_to_3(datafile_xArray, Cnfadrf_aArray, Cnfadrf_index);
3652 d_1_to_2(datafile_yArray, Cnfadrf_drArray, Cnfadrf_index);
3653 d_2_to_3(datafile_zArray, Cnfadrf_CnArray, Cnfadrf_index);
3654 i_1_to_2(datafile_nxArray, Cnfadrf_nAlphaArray, Cnfadrf_index);
3655 Cnfadrf_ndr[Cnfadrf_index] = datafile_ny;
3656 if (Cnfadrf_first==true)
3658 if (Cnfadrf_nice == 1)
3660 Cnfadrf_na_nice = datafile_nxArray[1];
3661 Cnfadrf_ndr_nice = datafile_ny;
3662 d_1_to_1(Cnfadrf_drArray_nice, datafile_yArray);
3663 for (i=1; i<=Cnfadrf_na_nice; i++)
3664 Cnfadrf_aArray_nice[i] = datafile_xArray[1][i];
3666 aeroYawParts -> storeCommands (*command_line);
3667 Cnfadrf_first=false;
3673 int Cnfapf_index, i;
3676 Cnfapf_file = aircraft_directory + linetoken3;
3677 token4 >> Cnfapf_index;
3678 if (Cnfapf_index < 0 || Cnfapf_index >= 100)
3679 uiuc_warnings_errors(1, *command_line);
3680 if (Cnfapf_index > Cnfapf_nf)
3681 Cnfapf_nf = Cnfapf_index;
3682 token5 >> flap_value;
3683 Cnfapf_fArray[Cnfapf_index] = flap_value;
3684 token6 >> token_value_convert1;
3685 token7 >> token_value_convert2;
3686 token8 >> token_value_convert3;
3687 token9 >> Cnfapf_nice;
3688 convert_z = uiuc_convert(token_value_convert1);
3689 convert_x = uiuc_convert(token_value_convert2);
3690 convert_y = uiuc_convert(token_value_convert3);
3691 /* call 2D File Reader with file name (Cnfapf_file) and
3692 conversion factors; function returns array of
3693 elevator deflections (deArray) and corresponding
3694 alpha (aArray) and delta CZ (CZArray) values and
3695 max number of terms in alpha arrays (nAlphaArray)
3696 and delfection array (nde) */
3697 uiuc_2DdataFileReader(Cnfapf_file,
3703 d_2_to_3(datafile_xArray, Cnfapf_aArray, Cnfapf_index);
3704 d_1_to_2(datafile_yArray, Cnfapf_pArray, Cnfapf_index);
3705 d_2_to_3(datafile_zArray, Cnfapf_CnArray, Cnfapf_index);
3706 i_1_to_2(datafile_nxArray, Cnfapf_nAlphaArray, Cnfapf_index);
3707 Cnfapf_np[Cnfapf_index] = datafile_ny;
3708 if (Cnfapf_first==true)
3710 if (Cnfapf_nice == 1)
3712 Cnfapf_na_nice = datafile_nxArray[1];
3713 Cnfapf_np_nice = datafile_ny;
3714 d_1_to_1(Cnfapf_pArray_nice, datafile_yArray);
3715 for (i=1; i<=Cnfapf_na_nice; i++)
3716 Cnfapf_aArray_nice[i] = datafile_xArray[1][i];
3718 aeroYawParts -> storeCommands (*command_line);
3725 int Cnfarf_index, i;
3728 Cnfarf_file = aircraft_directory + linetoken3;
3729 token4 >> Cnfarf_index;
3730 if (Cnfarf_index < 0 || Cnfarf_index >= 100)
3731 uiuc_warnings_errors(1, *command_line);
3732 if (Cnfarf_index > Cnfarf_nf)
3733 Cnfarf_nf = Cnfarf_index;
3734 token5 >> flap_value;
3735 Cnfarf_fArray[Cnfarf_index] = flap_value;
3736 token6 >> token_value_convert1;
3737 token7 >> token_value_convert2;
3738 token8 >> token_value_convert3;
3739 token9 >> Cnfarf_nice;
3740 convert_z = uiuc_convert(token_value_convert1);
3741 convert_x = uiuc_convert(token_value_convert2);
3742 convert_y = uiuc_convert(token_value_convert3);
3743 /* call 2D File Reader with file name (Cnfarf_file) and
3744 conversion factors; function returns array of
3745 elevator deflections (deArray) and corresponding
3746 alpha (aArray) and delta CZ (CZArray) values and
3747 max number of terms in alpha arrays (nAlphaArray)
3748 and delfection array (nde) */
3749 uiuc_2DdataFileReader(Cnfarf_file,
3755 d_2_to_3(datafile_xArray, Cnfarf_aArray, Cnfarf_index);
3756 d_1_to_2(datafile_yArray, Cnfarf_rArray, Cnfarf_index);
3757 d_2_to_3(datafile_zArray, Cnfarf_CnArray, Cnfarf_index);
3758 i_1_to_2(datafile_nxArray, Cnfarf_nAlphaArray, Cnfarf_index);
3759 Cnfarf_nr[Cnfarf_index] = datafile_ny;
3760 if (Cnfarf_first==true)
3762 if (Cnfarf_nice == 1)
3764 Cnfarf_na_nice = datafile_nxArray[1];
3765 Cnfarf_nr_nice = datafile_ny;
3766 d_1_to_1(Cnfarf_rArray_nice, datafile_yArray);
3767 for (i=1; i<=Cnfarf_na_nice; i++)
3768 Cnfarf_aArray_nice[i] = datafile_xArray[1][i];
3770 aeroYawParts -> storeCommands (*command_line);
3777 uiuc_warnings_errors(2, *command_line);
3789 if (index < 0 || index >= 16)
3790 uiuc_warnings_errors(1, *command_line);
3791 switch(gear_map[linetoken2])
3795 if (check_float(linetoken3))
3796 token4 >> token_value;
3798 uiuc_warnings_errors(1, *command_line);
3799 D_gear_v[index][0] = token_value;
3800 gear_model[index] = true;
3805 if (check_float(linetoken3))
3806 token4 >> token_value;
3808 uiuc_warnings_errors(1, *command_line);
3809 D_gear_v[index][1] = token_value;
3810 gear_model[index] = true;
3815 if (check_float(linetoken3))
3816 token4 >> token_value;
3818 uiuc_warnings_errors(1, *command_line);
3819 D_gear_v[index][2] = token_value;
3820 gear_model[index] = true;
3825 if (check_float(linetoken3))
3826 token4 >> token_value;
3828 uiuc_warnings_errors(1, *command_line);
3829 cgear[index] = token_value;
3830 gear_model[index] = true;
3835 if (check_float(linetoken3))
3836 token4 >> token_value;
3838 uiuc_warnings_errors(1, *command_line);
3839 kgear[index] = token_value;
3840 gear_model[index] = true;
3845 if (check_float(linetoken3))
3846 token4 >> token_value;
3848 uiuc_warnings_errors(1, *command_line);
3849 muGear[index] = token_value;
3850 gear_model[index] = true;
3853 case strutLength_flag:
3855 if (check_float(linetoken3))
3856 token4 >> token_value;
3858 uiuc_warnings_errors(1, *command_line);
3859 strutLength[index] = token_value;
3860 gear_model[index] = true;
3865 uiuc_warnings_errors(2, *command_line);
3875 switch(ice_map[linetoken2])
3879 if (check_float(linetoken3))
3880 token3 >> token_value;
3883 uiuc_warnings_errors(1, *command_line);
3886 iceTime = token_value;
3889 case transientTime_flag:
3891 if (check_float(linetoken3))
3892 token3 >> token_value;
3894 uiuc_warnings_errors(1, *command_line);
3896 transientTime = token_value;
3899 case eta_ice_final_flag:
3901 if (check_float(linetoken3))
3902 token3 >> token_value;
3904 uiuc_warnings_errors(1, *command_line);
3906 eta_ice_final = token_value;
3909 case beta_probe_wing_flag:
3911 if (check_float(linetoken3))
3912 token3 >> token_value;
3914 uiuc_warnings_errors(1, *command_line);
3917 x_probe_wing = token_value;
3920 case beta_probe_tail_flag:
3922 if (check_float(linetoken3))
3923 token3 >> token_value;
3925 uiuc_warnings_errors(1, *command_line);
3928 x_probe_tail = token_value;
3933 if (check_float(linetoken3))
3934 token3 >> token_value;
3936 uiuc_warnings_errors(1, *command_line);
3943 if (check_float(linetoken3))
3944 token3 >> token_value;
3946 uiuc_warnings_errors(1, *command_line);
3953 if (check_float(linetoken3))
3954 token3 >> token_value;
3956 uiuc_warnings_errors(1, *command_line);
3958 kCD_a = token_value;
3963 if (check_float(linetoken3))
3964 token3 >> token_value;
3966 uiuc_warnings_errors(1, *command_line);
3968 kCD_adot = token_value;
3973 if (check_float(linetoken3))
3974 token3 >> token_value;
3976 uiuc_warnings_errors(1, *command_line);
3978 kCD_q = token_value;
3983 if (check_float(linetoken3))
3984 token3 >> token_value;
3986 uiuc_warnings_errors(1, *command_line);
3988 kCD_de = token_value;
3993 if (check_float(linetoken3))
3994 token3 >> token_value;
3996 uiuc_warnings_errors(1, *command_line);
4003 if (check_float(linetoken3))
4004 token3 >> token_value;
4006 uiuc_warnings_errors(1, *command_line);
4013 if (check_float(linetoken3))
4014 token3 >> token_value;
4016 uiuc_warnings_errors(1, *command_line);
4018 kCX_a = token_value;
4023 if (check_float(linetoken3))
4024 token3 >> token_value;
4026 uiuc_warnings_errors(1, *command_line);
4028 kCX_a2 = token_value;
4033 if (check_float(linetoken3))
4034 token3 >> token_value;
4036 uiuc_warnings_errors(1, *command_line);
4038 kCX_a3 = token_value;
4043 if (check_float(linetoken3))
4044 token3 >> token_value;
4046 uiuc_warnings_errors(1, *command_line);
4048 kCX_adot = token_value;
4053 if (check_float(linetoken3))
4054 token3 >> token_value;
4056 uiuc_warnings_errors(1, *command_line);
4058 kCX_q = token_value;
4063 if (check_float(linetoken3))
4064 token3 >> token_value;
4066 uiuc_warnings_errors(1, *command_line);
4068 kCX_de = token_value;
4073 if (check_float(linetoken3))
4074 token3 >> token_value;
4076 uiuc_warnings_errors(1, *command_line);
4078 kCX_dr = token_value;
4083 if (check_float(linetoken3))
4084 token3 >> token_value;
4086 uiuc_warnings_errors(1, *command_line);
4088 kCX_df = token_value;
4093 if (check_float(linetoken3))
4094 token3 >> token_value;
4096 uiuc_warnings_errors(1, *command_line);
4098 kCX_adf = token_value;
4103 if (check_float(linetoken3))
4104 token3 >> token_value;
4106 uiuc_warnings_errors(1, *command_line);
4113 if (check_float(linetoken3))
4114 token3 >> token_value;
4116 uiuc_warnings_errors(1, *command_line);
4118 kCL_a = token_value;
4123 if (check_float(linetoken3))
4124 token3 >> token_value;
4126 uiuc_warnings_errors(1, *command_line);
4128 kCL_adot = token_value;
4133 if (check_float(linetoken3))
4134 token3 >> token_value;
4136 uiuc_warnings_errors(1, *command_line);
4138 kCL_q = token_value;
4143 if (check_float(linetoken3))
4144 token3 >> token_value;
4146 uiuc_warnings_errors(1, *command_line);
4148 kCL_de = token_value;
4153 if (check_float(linetoken3))
4154 token3 >> token_value;
4156 uiuc_warnings_errors(1, *command_line);
4163 if (check_float(linetoken3))
4164 token3 >> token_value;
4166 uiuc_warnings_errors(1, *command_line);
4168 kCZ_a = token_value;
4173 if (check_float(linetoken3))
4174 token3 >> token_value;
4176 uiuc_warnings_errors(1, *command_line);
4178 kCZ_a2 = token_value;
4183 if (check_float(linetoken3))
4184 token3 >> token_value;
4186 uiuc_warnings_errors(1, *command_line);
4188 kCZ_a3 = token_value;
4193 if (check_float(linetoken3))
4194 token3 >> token_value;
4196 uiuc_warnings_errors(1, *command_line);
4198 kCZ_adot = token_value;
4203 if (check_float(linetoken3))
4204 token3 >> token_value;
4206 uiuc_warnings_errors(1, *command_line);
4208 kCZ_q = token_value;
4213 if (check_float(linetoken3))
4214 token3 >> token_value;
4216 uiuc_warnings_errors(1, *command_line);
4218 kCZ_de = token_value;
4223 if (check_float(linetoken3))
4224 token3 >> token_value;
4226 uiuc_warnings_errors(1, *command_line);
4228 kCZ_deb2 = token_value;
4233 if (check_float(linetoken3))
4234 token3 >> token_value;
4236 uiuc_warnings_errors(1, *command_line);
4238 kCZ_df = token_value;
4243 if (check_float(linetoken3))
4244 token3 >> token_value;
4246 uiuc_warnings_errors(1, *command_line);
4248 kCZ_adf = token_value;
4253 if (check_float(linetoken3))
4254 token3 >> token_value;
4256 uiuc_warnings_errors(1, *command_line);
4263 if (check_float(linetoken3))
4264 token3 >> token_value;
4266 uiuc_warnings_errors(1, *command_line);
4268 kCm_a = token_value;
4273 if (check_float(linetoken3))
4274 token3 >> token_value;
4276 uiuc_warnings_errors(1, *command_line);
4278 kCm_a2 = token_value;
4283 if (check_float(linetoken3))
4284 token3 >> token_value;
4286 uiuc_warnings_errors(1, *command_line);
4288 kCm_adot = token_value;
4293 if (check_float(linetoken3))
4294 token3 >> token_value;
4296 uiuc_warnings_errors(1, *command_line);
4298 kCm_q = token_value;
4303 if (check_float(linetoken3))
4304 token3 >> token_value;
4306 uiuc_warnings_errors(1, *command_line);
4308 kCm_de = token_value;
4313 if (check_float(linetoken3))
4314 token3 >> token_value;
4316 uiuc_warnings_errors(1, *command_line);
4318 kCm_b2 = token_value;
4323 if (check_float(linetoken3))
4324 token3 >> token_value;
4326 uiuc_warnings_errors(1, *command_line);
4328 kCm_r = token_value;
4333 if (check_float(linetoken3))
4334 token3 >> token_value;
4336 uiuc_warnings_errors(1, *command_line);
4338 kCm_df = token_value;
4343 if (check_float(linetoken3))
4344 token3 >> token_value;
4346 uiuc_warnings_errors(1, *command_line);
4353 if (check_float(linetoken3))
4354 token3 >> token_value;
4356 uiuc_warnings_errors(1, *command_line);
4358 kCY_beta = token_value;
4363 if (check_float(linetoken3))
4364 token3 >> token_value;
4366 uiuc_warnings_errors(1, *command_line);
4368 kCY_p = token_value;
4373 if (check_float(linetoken3))
4374 token3 >> token_value;
4376 uiuc_warnings_errors(1, *command_line);
4378 kCY_r = token_value;
4383 if (check_float(linetoken3))
4384 token3 >> token_value;
4386 uiuc_warnings_errors(1, *command_line);
4388 kCY_da = token_value;
4393 if (check_float(linetoken3))
4394 token3 >> token_value;
4396 uiuc_warnings_errors(1, *command_line);
4398 kCY_dr = token_value;
4403 if (check_float(linetoken3))
4404 token3 >> token_value;
4406 uiuc_warnings_errors(1, *command_line);
4408 kCY_dra = token_value;
4413 if (check_float(linetoken3))
4414 token3 >> token_value;
4416 uiuc_warnings_errors(1, *command_line);
4418 kCY_bdot = token_value;
4423 if (check_float(linetoken3))
4424 token3 >> token_value;
4426 uiuc_warnings_errors(1, *command_line);
4433 if (check_float(linetoken3))
4434 token3 >> token_value;
4436 uiuc_warnings_errors(1, *command_line);
4438 kCl_beta = token_value;
4443 if (check_float(linetoken3))
4444 token3 >> token_value;
4446 uiuc_warnings_errors(1, *command_line);
4448 kCl_p = token_value;
4453 if (check_float(linetoken3))
4454 token3 >> token_value;
4456 uiuc_warnings_errors(1, *command_line);
4458 kCl_r = token_value;
4463 if (check_float(linetoken3))
4464 token3 >> token_value;
4466 uiuc_warnings_errors(1, *command_line);
4468 kCl_da = token_value;
4473 if (check_float(linetoken3))
4474 token3 >> token_value;
4476 uiuc_warnings_errors(1, *command_line);
4478 kCl_dr = token_value;
4483 if (check_float(linetoken3))
4484 token3 >> token_value;
4486 uiuc_warnings_errors(1, *command_line);
4488 kCl_daa = token_value;
4493 if (check_float(linetoken3))
4494 token3 >> token_value;
4496 uiuc_warnings_errors(1, *command_line);
4503 if (check_float(linetoken3))
4504 token3 >> token_value;
4506 uiuc_warnings_errors(1, *command_line);
4508 kCn_beta = token_value;
4513 if (check_float(linetoken3))
4514 token3 >> token_value;
4516 uiuc_warnings_errors(1, *command_line);
4518 kCn_p = token_value;
4523 if (check_float(linetoken3))
4524 token3 >> token_value;
4526 uiuc_warnings_errors(1, *command_line);
4528 kCn_r = token_value;
4533 if (check_float(linetoken3))
4534 token3 >> token_value;
4536 uiuc_warnings_errors(1, *command_line);
4538 kCn_da = token_value;
4543 if (check_float(linetoken3))
4544 token3 >> token_value;
4546 uiuc_warnings_errors(1, *command_line);
4548 kCn_dr = token_value;
4553 if (check_float(linetoken3))
4554 token3 >> token_value;
4556 uiuc_warnings_errors(1, *command_line);
4558 kCn_q = token_value;
4563 if (check_float(linetoken3))
4564 token3 >> token_value;
4566 uiuc_warnings_errors(1, *command_line);
4568 kCn_b3 = token_value;
4573 uiuc_warnings_errors(2, *command_line);
4583 switch(fog_map[linetoken2])
4585 case fog_segments_flag:
4587 if (check_float(linetoken3))
4588 token3 >> token_value_convert1;
4590 uiuc_warnings_errors(1, *command_line);
4592 if (token_value_convert1 < 1 || token_value_convert1 > 100)
4593 uiuc_warnings_errors(1, *command_line);
4596 fog_point_index = 0;
4599 fog_segments = token_value_convert1;
4600 fog_time = new double[fog_segments+1];
4602 fog_value = new int[fog_segments+1];
4607 case fog_point_flag:
4609 if (check_float(linetoken3))
4610 token3 >> token_value;
4612 uiuc_warnings_errors(1, *command_line);
4614 if (token_value < 0.1)
4615 uiuc_warnings_errors(1, *command_line);
4617 if (check_float(linetoken4))
4618 token4 >> token_value_convert1;
4620 uiuc_warnings_errors(1, *command_line);
4622 if (token_value_convert1 < -1000 || token_value_convert1 > 1000)
4623 uiuc_warnings_errors(1, *command_line);
4625 if (fog_point_index == fog_segments || fog_point_index == -1)
4626 uiuc_warnings_errors(1, *command_line);
4629 fog_time[fog_point_index] = token_value;
4630 fog_value[fog_point_index] = token_value_convert1;
4636 uiuc_warnings_errors(2, *command_line);
4650 static int fout_flag=0;
4654 fout.open("uiuc_record.dat");
4656 switch(record_map[linetoken2])
4658 /************************* Time ************************/
4659 case Simtime_record:
4661 recordParts -> storeCommands (*command_line);
4666 recordParts -> storeCommands (*command_line);
4670 /************************* Mass ************************/
4673 recordParts -> storeCommands (*command_line);
4678 recordParts -> storeCommands (*command_line);
4683 recordParts -> storeCommands (*command_line);
4688 recordParts -> storeCommands (*command_line);
4693 recordParts -> storeCommands (*command_line);
4698 recordParts -> storeCommands (*command_line);
4702 /*********************** Geometry **********************/
4703 case Dx_pilot_record:
4705 recordParts -> storeCommands (*command_line);
4708 case Dy_pilot_record:
4710 recordParts -> storeCommands (*command_line);
4713 case Dz_pilot_record:
4715 recordParts -> storeCommands (*command_line);
4720 recordParts -> storeCommands (*command_line);
4725 recordParts -> storeCommands (*command_line);
4730 recordParts -> storeCommands (*command_line);
4734 /********************** Positions **********************/
4735 case Lat_geocentric_record:
4737 recordParts -> storeCommands (*command_line);
4740 case Lon_geocentric_record:
4742 recordParts -> storeCommands (*command_line);
4745 case Radius_to_vehicle_record:
4747 recordParts -> storeCommands (*command_line);
4750 case Latitude_record:
4752 recordParts -> storeCommands (*command_line);
4755 case Longitude_record:
4757 recordParts -> storeCommands (*command_line);
4760 case Altitude_record:
4762 recordParts -> storeCommands (*command_line);
4767 recordParts -> storeCommands (*command_line);
4772 recordParts -> storeCommands (*command_line);
4777 recordParts -> storeCommands (*command_line);
4781 /******************** Accelerations ********************/
4782 case V_dot_north_record:
4784 recordParts -> storeCommands (*command_line);
4787 case V_dot_east_record:
4789 recordParts -> storeCommands (*command_line);
4792 case V_dot_down_record:
4794 recordParts -> storeCommands (*command_line);
4797 case U_dot_body_record:
4799 recordParts -> storeCommands (*command_line);
4802 case V_dot_body_record:
4804 recordParts -> storeCommands (*command_line);
4807 case W_dot_body_record:
4809 recordParts -> storeCommands (*command_line);
4812 case A_X_pilot_record:
4814 recordParts -> storeCommands (*command_line);
4817 case A_Y_pilot_record:
4819 recordParts -> storeCommands (*command_line);
4822 case A_Z_pilot_record:
4824 recordParts -> storeCommands (*command_line);
4829 recordParts -> storeCommands (*command_line);
4834 recordParts -> storeCommands (*command_line);
4839 recordParts -> storeCommands (*command_line);
4842 case N_X_pilot_record:
4844 recordParts -> storeCommands (*command_line);
4847 case N_Y_pilot_record:
4849 recordParts -> storeCommands (*command_line);
4852 case N_Z_pilot_record:
4854 recordParts -> storeCommands (*command_line);
4859 recordParts -> storeCommands (*command_line);
4864 recordParts -> storeCommands (*command_line);
4869 recordParts -> storeCommands (*command_line);
4872 case P_dot_body_record:
4874 recordParts -> storeCommands (*command_line);
4877 case Q_dot_body_record:
4879 recordParts -> storeCommands (*command_line);
4882 case R_dot_body_record:
4884 recordParts -> storeCommands (*command_line);
4888 /********************** Velocities *********************/
4889 case V_north_record:
4891 recordParts -> storeCommands (*command_line);
4896 recordParts -> storeCommands (*command_line);
4901 recordParts -> storeCommands (*command_line);
4904 case V_north_rel_ground_record:
4906 recordParts -> storeCommands (*command_line);
4909 case V_east_rel_ground_record:
4911 recordParts -> storeCommands (*command_line);
4914 case V_down_rel_ground_record:
4916 recordParts -> storeCommands (*command_line);
4919 case V_north_airmass_record:
4921 recordParts -> storeCommands (*command_line);
4924 case V_east_airmass_record:
4926 recordParts -> storeCommands (*command_line);
4929 case V_down_airmass_record:
4931 recordParts -> storeCommands (*command_line);
4934 case V_north_rel_airmass_record:
4936 recordParts -> storeCommands (*command_line);
4939 case V_east_rel_airmass_record:
4941 recordParts -> storeCommands (*command_line);
4944 case V_down_rel_airmass_record:
4946 recordParts -> storeCommands (*command_line);
4951 recordParts -> storeCommands (*command_line);
4956 recordParts -> storeCommands (*command_line);
4961 recordParts -> storeCommands (*command_line);
4966 recordParts -> storeCommands (*command_line);
4971 recordParts -> storeCommands (*command_line);
4976 recordParts -> storeCommands (*command_line);
4979 case V_rel_wind_record:
4981 recordParts -> storeCommands (*command_line);
4984 case V_true_kts_record:
4986 recordParts -> storeCommands (*command_line);
4989 case V_rel_ground_record:
4991 recordParts -> storeCommands (*command_line);
4994 case V_inertial_record:
4996 recordParts -> storeCommands (*command_line);
4999 case V_ground_speed_record:
5001 recordParts -> storeCommands (*command_line);
5004 case V_equiv_record:
5006 recordParts -> storeCommands (*command_line);
5009 case V_equiv_kts_record:
5011 recordParts -> storeCommands (*command_line);
5014 case V_calibrated_record:
5016 recordParts -> storeCommands (*command_line);
5019 case V_calibrated_kts_record:
5021 recordParts -> storeCommands (*command_line);
5024 case P_local_record:
5026 recordParts -> storeCommands (*command_line);
5029 case Q_local_record:
5031 recordParts -> storeCommands (*command_line);
5034 case R_local_record:
5036 recordParts -> storeCommands (*command_line);
5041 recordParts -> storeCommands (*command_line);
5046 recordParts -> storeCommands (*command_line);
5051 recordParts -> storeCommands (*command_line);
5054 case P_total_record:
5056 recordParts -> storeCommands (*command_line);
5059 case Q_total_record:
5061 recordParts -> storeCommands (*command_line);
5064 case R_total_record:
5066 recordParts -> storeCommands (*command_line);
5069 case Phi_dot_record:
5071 recordParts -> storeCommands (*command_line);
5074 case Theta_dot_record:
5076 recordParts -> storeCommands (*command_line);
5079 case Psi_dot_record:
5081 recordParts -> storeCommands (*command_line);
5084 case Latitude_dot_record:
5086 recordParts -> storeCommands (*command_line);
5089 case Longitude_dot_record:
5091 recordParts -> storeCommands (*command_line);
5094 case Radius_dot_record:
5096 recordParts -> storeCommands (*command_line);
5100 /************************ Angles ***********************/
5103 recordParts -> storeCommands (*command_line);
5106 case Alpha_deg_record:
5108 recordParts -> storeCommands (*command_line);
5111 case Alpha_dot_record:
5113 recordParts -> storeCommands (*command_line);
5116 case Alpha_dot_deg_record:
5118 recordParts -> storeCommands (*command_line);
5123 recordParts -> storeCommands (*command_line);
5126 case Beta_deg_record:
5128 recordParts -> storeCommands (*command_line);
5131 case Beta_dot_record:
5133 recordParts -> storeCommands (*command_line);
5136 case Beta_dot_deg_record:
5138 recordParts -> storeCommands (*command_line);
5141 case Gamma_vert_record:
5143 recordParts -> storeCommands (*command_line);
5146 case Gamma_vert_deg_record:
5148 recordParts -> storeCommands (*command_line);
5151 case Gamma_horiz_record:
5153 recordParts -> storeCommands (*command_line);
5156 case Gamma_horiz_deg_record:
5158 recordParts -> storeCommands (*command_line);
5162 /**************** Atmospheric Properties ***************/
5163 case Density_record:
5165 recordParts -> storeCommands (*command_line);
5168 case V_sound_record:
5170 recordParts -> storeCommands (*command_line);
5173 case Mach_number_record:
5175 recordParts -> storeCommands (*command_line);
5178 case Static_pressure_record:
5180 recordParts -> storeCommands (*command_line);
5183 case Total_pressure_record:
5185 recordParts -> storeCommands (*command_line);
5188 case Impact_pressure_record:
5190 recordParts -> storeCommands (*command_line);
5193 case Dynamic_pressure_record:
5195 recordParts -> storeCommands (*command_line);
5198 case Static_temperature_record:
5200 recordParts -> storeCommands (*command_line);
5203 case Total_temperature_record:
5205 recordParts -> storeCommands (*command_line);
5209 /******************** Earth Properties *****************/
5210 case Gravity_record:
5212 recordParts -> storeCommands (*command_line);
5215 case Sea_level_radius_record:
5217 recordParts -> storeCommands (*command_line);
5220 case Earth_position_angle_record:
5222 recordParts -> storeCommands (*command_line);
5225 case Runway_altitude_record:
5227 recordParts -> storeCommands (*command_line);
5230 case Runway_latitude_record:
5232 recordParts -> storeCommands (*command_line);
5235 case Runway_longitude_record:
5237 recordParts -> storeCommands (*command_line);
5240 case Runway_heading_record:
5242 recordParts -> storeCommands (*command_line);
5245 case Radius_to_rwy_record:
5247 recordParts -> storeCommands (*command_line);
5250 case D_pilot_north_of_rwy_record:
5252 recordParts -> storeCommands (*command_line);
5255 case D_pilot_east_of_rwy_record:
5257 recordParts -> storeCommands (*command_line);
5260 case D_pilot_above_rwy_record:
5262 recordParts -> storeCommands (*command_line);
5265 case X_pilot_rwy_record:
5267 recordParts -> storeCommands (*command_line);
5270 case Y_pilot_rwy_record:
5272 recordParts -> storeCommands (*command_line);
5275 case H_pilot_rwy_record:
5277 recordParts -> storeCommands (*command_line);
5280 case D_cg_north_of_rwy_record:
5282 recordParts -> storeCommands (*command_line);
5285 case D_cg_east_of_rwy_record:
5287 recordParts -> storeCommands (*command_line);
5290 case D_cg_above_rwy_record:
5292 recordParts -> storeCommands (*command_line);
5295 case X_cg_rwy_record:
5297 recordParts -> storeCommands (*command_line);
5300 case Y_cg_rwy_record:
5302 recordParts -> storeCommands (*command_line);
5305 case H_cg_rwy_record:
5307 recordParts -> storeCommands (*command_line);
5311 /********************* Engine Inputs *******************/
5312 case Throttle_pct_record:
5314 recordParts -> storeCommands (*command_line);
5317 case Throttle_3_record:
5319 recordParts -> storeCommands (*command_line);
5323 /******************** Control Inputs *******************/
5324 case Long_control_record:
5326 recordParts -> storeCommands (*command_line);
5329 case Long_trim_record:
5331 recordParts -> storeCommands (*command_line);
5334 case Long_trim_deg_record:
5336 recordParts -> storeCommands (*command_line);
5339 case elevator_record:
5341 recordParts -> storeCommands (*command_line);
5344 case elevator_deg_record:
5346 recordParts -> storeCommands (*command_line);
5349 case Lat_control_record:
5351 recordParts -> storeCommands (*command_line);
5354 case aileron_record:
5356 recordParts -> storeCommands (*command_line);
5359 case aileron_deg_record:
5361 recordParts -> storeCommands (*command_line);
5364 case Rudder_pedal_record:
5366 recordParts -> storeCommands (*command_line);
5371 recordParts -> storeCommands (*command_line);
5374 case rudder_deg_record:
5376 recordParts -> storeCommands (*command_line);
5379 case Flap_handle_record:
5381 recordParts -> storeCommands (*command_line);
5386 recordParts -> storeCommands (*command_line);
5389 case flap_deg_record:
5391 recordParts -> storeCommands (*command_line);
5394 case flap_goal_record:
5396 recordParts -> storeCommands (*command_line);
5399 case flap_pos_record:
5401 recordParts -> storeCommands (*command_line);
5405 /****************** Aero Coefficients ******************/
5408 recordParts -> storeCommands (*command_line);
5413 recordParts -> storeCommands (*command_line);
5416 case CDfadeI_record:
5418 recordParts -> storeCommands (*command_line);
5423 recordParts -> storeCommands (*command_line);
5426 case CDfadfI_record:
5428 recordParts -> storeCommands (*command_line);
5433 recordParts -> storeCommands (*command_line);
5436 case CXfabetafI_record:
5438 recordParts -> storeCommands (*command_line);
5441 case CXfadefI_record:
5443 recordParts -> storeCommands (*command_line);
5446 case CXfaqfI_record:
5448 recordParts -> storeCommands (*command_line);
5451 case CDo_save_record:
5453 recordParts -> storeCommands (*command_line);
5456 case CDK_save_record:
5458 recordParts -> storeCommands (*command_line);
5461 case CD_a_save_record:
5463 recordParts -> storeCommands (*command_line);
5466 case CD_adot_save_record:
5468 recordParts -> storeCommands (*command_line);
5471 case CD_q_save_record:
5473 recordParts -> storeCommands (*command_line);
5476 case CD_ih_save_record:
5478 recordParts -> storeCommands (*command_line);
5481 case CD_de_save_record:
5483 recordParts -> storeCommands (*command_line);
5486 case CXo_save_record:
5488 recordParts -> storeCommands (*command_line);
5491 case CXK_save_record:
5493 recordParts -> storeCommands (*command_line);
5496 case CX_a_save_record:
5498 recordParts -> storeCommands (*command_line);
5501 case CX_a2_save_record:
5503 recordParts -> storeCommands (*command_line);
5506 case CX_a3_save_record:
5508 recordParts -> storeCommands (*command_line);
5511 case CX_adot_save_record:
5513 recordParts -> storeCommands (*command_line);
5516 case CX_q_save_record:
5518 recordParts -> storeCommands (*command_line);
5521 case CX_de_save_record:
5523 recordParts -> storeCommands (*command_line);
5526 case CX_dr_save_record:
5528 recordParts -> storeCommands (*command_line);
5531 case CX_df_save_record:
5533 recordParts -> storeCommands (*command_line);
5536 case CX_adf_save_record:
5538 recordParts -> storeCommands (*command_line);
5543 recordParts -> storeCommands (*command_line);
5548 recordParts -> storeCommands (*command_line);
5551 case CLfadeI_record:
5553 recordParts -> storeCommands (*command_line);
5558 recordParts -> storeCommands (*command_line);
5561 case CLfadfI_record:
5563 recordParts -> storeCommands (*command_line);
5568 recordParts -> storeCommands (*command_line);
5573 recordParts -> storeCommands (*command_line);
5576 case CZfabetafI_record:
5578 recordParts -> storeCommands (*command_line);
5581 case CZfadefI_record:
5583 recordParts -> storeCommands (*command_line);
5586 case CZfaqfI_record:
5588 recordParts -> storeCommands (*command_line);
5591 case CLo_save_record:
5593 recordParts -> storeCommands (*command_line);
5596 case CL_a_save_record:
5598 recordParts -> storeCommands (*command_line);
5601 case CL_adot_save_record:
5603 recordParts -> storeCommands (*command_line);
5606 case CL_q_save_record:
5608 recordParts -> storeCommands (*command_line);
5611 case CL_ih_save_record:
5613 recordParts -> storeCommands (*command_line);
5616 case CL_de_save_record:
5618 recordParts -> storeCommands (*command_line);
5621 case CZo_save_record:
5623 recordParts -> storeCommands (*command_line);
5626 case CZ_a_save_record:
5628 recordParts -> storeCommands (*command_line);
5631 case CZ_a2_save_record:
5633 recordParts -> storeCommands (*command_line);
5636 case CZ_a3_save_record:
5638 recordParts -> storeCommands (*command_line);
5641 case CZ_adot_save_record:
5643 recordParts -> storeCommands (*command_line);
5646 case CZ_q_save_record:
5648 recordParts -> storeCommands (*command_line);
5651 case CZ_de_save_record:
5653 recordParts -> storeCommands (*command_line);
5656 case CZ_deb2_save_record:
5658 recordParts -> storeCommands (*command_line);
5661 case CZ_df_save_record:
5663 recordParts -> storeCommands (*command_line);
5666 case CZ_adf_save_record:
5668 recordParts -> storeCommands (*command_line);
5673 recordParts -> storeCommands (*command_line);
5678 recordParts -> storeCommands (*command_line);
5681 case CmfadeI_record:
5683 recordParts -> storeCommands (*command_line);
5688 recordParts -> storeCommands (*command_line);
5691 case CmfadfI_record:
5693 recordParts -> storeCommands (*command_line);
5696 case CmfabetafI_record:
5698 recordParts -> storeCommands (*command_line);
5701 case CmfadefI_record:
5703 recordParts -> storeCommands (*command_line);
5706 case CmfaqfI_record:
5708 recordParts -> storeCommands (*command_line);
5711 case Cmo_save_record:
5713 recordParts -> storeCommands (*command_line);
5716 case Cm_a_save_record:
5718 recordParts -> storeCommands (*command_line);
5721 case Cm_a2_save_record:
5723 recordParts -> storeCommands (*command_line);
5726 case Cm_adot_save_record:
5728 recordParts -> storeCommands (*command_line);
5731 case Cm_q_save_record:
5733 recordParts -> storeCommands (*command_line);
5736 case Cm_ih_save_record:
5738 recordParts -> storeCommands (*command_line);
5741 case Cm_de_save_record:
5743 recordParts -> storeCommands (*command_line);
5746 case Cm_b2_save_record:
5748 recordParts -> storeCommands (*command_line);
5751 case Cm_r_save_record:
5753 recordParts -> storeCommands (*command_line);
5756 case Cm_df_save_record:
5758 recordParts -> storeCommands (*command_line);
5763 recordParts -> storeCommands (*command_line);
5766 case CYfadaI_record:
5768 recordParts -> storeCommands (*command_line);
5771 case CYfbetadrI_record:
5773 recordParts -> storeCommands (*command_line);
5776 case CYfabetafI_record:
5778 recordParts -> storeCommands (*command_line);
5781 case CYfadafI_record:
5783 recordParts -> storeCommands (*command_line);
5786 case CYfadrfI_record:
5788 recordParts -> storeCommands (*command_line);
5791 case CYfapfI_record:
5793 recordParts -> storeCommands (*command_line);
5796 case CYfarfI_record:
5798 recordParts -> storeCommands (*command_line);
5801 case CYo_save_record:
5803 recordParts -> storeCommands (*command_line);
5806 case CY_beta_save_record:
5808 recordParts -> storeCommands (*command_line);
5811 case CY_p_save_record:
5813 recordParts -> storeCommands (*command_line);
5816 case CY_r_save_record:
5818 recordParts -> storeCommands (*command_line);
5821 case CY_da_save_record:
5823 recordParts -> storeCommands (*command_line);
5826 case CY_dr_save_record:
5828 recordParts -> storeCommands (*command_line);
5831 case CY_dra_save_record:
5833 recordParts -> storeCommands (*command_line);
5836 case CY_bdot_save_record:
5838 recordParts -> storeCommands (*command_line);
5843 recordParts -> storeCommands (*command_line);
5846 case ClfadaI_record:
5848 recordParts -> storeCommands (*command_line);
5851 case ClfbetadrI_record:
5853 recordParts -> storeCommands (*command_line);
5856 case ClfabetafI_record:
5858 recordParts -> storeCommands (*command_line);
5861 case ClfadafI_record:
5863 recordParts -> storeCommands (*command_line);
5866 case ClfadrfI_record:
5868 recordParts -> storeCommands (*command_line);
5871 case ClfapfI_record:
5873 recordParts -> storeCommands (*command_line);
5876 case ClfarfI_record:
5878 recordParts -> storeCommands (*command_line);
5881 case Clo_save_record:
5883 recordParts -> storeCommands (*command_line);
5886 case Cl_beta_save_record:
5888 recordParts -> storeCommands (*command_line);
5891 case Cl_p_save_record:
5893 recordParts -> storeCommands (*command_line);
5896 case Cl_r_save_record:
5898 recordParts -> storeCommands (*command_line);
5901 case Cl_da_save_record:
5903 recordParts -> storeCommands (*command_line);
5906 case Cl_dr_save_record:
5908 recordParts -> storeCommands (*command_line);
5911 case Cl_daa_save_record:
5913 recordParts -> storeCommands (*command_line);
5918 recordParts -> storeCommands (*command_line);
5921 case CnfadaI_record:
5923 recordParts -> storeCommands (*command_line);
5926 case CnfbetadrI_record:
5928 recordParts -> storeCommands (*command_line);
5931 case CnfabetafI_record:
5933 recordParts -> storeCommands (*command_line);
5936 case CnfadafI_record:
5938 recordParts -> storeCommands (*command_line);
5941 case CnfadrfI_record:
5943 recordParts -> storeCommands (*command_line);
5946 case CnfapfI_record:
5948 recordParts -> storeCommands (*command_line);
5951 case CnfarfI_record:
5953 recordParts -> storeCommands (*command_line);
5956 case Cno_save_record:
5958 recordParts -> storeCommands (*command_line);
5961 case Cn_beta_save_record:
5963 recordParts -> storeCommands (*command_line);
5966 case Cn_p_save_record:
5968 recordParts -> storeCommands (*command_line);
5971 case Cn_r_save_record:
5973 recordParts -> storeCommands (*command_line);
5976 case Cn_da_save_record:
5978 recordParts -> storeCommands (*command_line);
5981 case Cn_dr_save_record:
5983 recordParts -> storeCommands (*command_line);
5986 case Cn_q_save_record:
5988 recordParts -> storeCommands (*command_line);
5991 case Cn_b3_save_record:
5993 recordParts -> storeCommands (*command_line);
5997 /******************** Ice Detection ********************/
5998 case CLclean_wing_record:
6000 recordParts -> storeCommands (*command_line);
6003 case CLiced_wing_record:
6005 recordParts -> storeCommands (*command_line);
6008 case CLclean_tail_record:
6010 recordParts -> storeCommands (*command_line);
6013 case CLiced_tail_record:
6015 recordParts -> storeCommands (*command_line);
6018 case Lift_clean_wing_record:
6020 recordParts -> storeCommands (*command_line);
6023 case Lift_iced_wing_record:
6025 recordParts -> storeCommands (*command_line);
6028 case Lift_clean_tail_record:
6030 recordParts -> storeCommands (*command_line);
6033 case Lift_iced_tail_record:
6035 recordParts -> storeCommands (*command_line);
6038 case Gamma_clean_wing_record:
6040 recordParts -> storeCommands (*command_line);
6043 case Gamma_iced_wing_record:
6045 recordParts -> storeCommands (*command_line);
6048 case Gamma_clean_tail_record:
6050 recordParts -> storeCommands (*command_line);
6053 case Gamma_iced_tail_record:
6055 recordParts -> storeCommands (*command_line);
6058 case w_clean_wing_record:
6060 recordParts -> storeCommands (*command_line);
6063 case w_iced_wing_record:
6065 recordParts -> storeCommands (*command_line);
6068 case w_clean_tail_record:
6070 recordParts -> storeCommands (*command_line);
6073 case w_iced_tail_record:
6075 recordParts -> storeCommands (*command_line);
6078 case V_total_clean_wing_record:
6080 recordParts -> storeCommands (*command_line);
6083 case V_total_iced_wing_record:
6085 recordParts -> storeCommands (*command_line);
6088 case V_total_clean_tail_record:
6090 recordParts -> storeCommands (*command_line);
6093 case V_total_iced_tail_record:
6095 recordParts -> storeCommands (*command_line);
6098 case beta_flow_clean_wing_record:
6100 recordParts -> storeCommands (*command_line);
6103 case beta_flow_clean_wing_deg_record:
6105 recordParts -> storeCommands (*command_line);
6108 case beta_flow_iced_wing_record:
6110 recordParts -> storeCommands (*command_line);
6113 case beta_flow_iced_wing_deg_record:
6115 recordParts -> storeCommands (*command_line);
6118 case beta_flow_clean_tail_record:
6120 recordParts -> storeCommands (*command_line);
6123 case beta_flow_clean_tail_deg_record:
6125 recordParts -> storeCommands (*command_line);
6128 case beta_flow_iced_tail_record:
6130 recordParts -> storeCommands (*command_line);
6133 case beta_flow_iced_tail_deg_record:
6135 recordParts -> storeCommands (*command_line);
6138 case Dbeta_flow_wing_record:
6140 recordParts -> storeCommands (*command_line);
6143 case Dbeta_flow_wing_deg_record:
6145 recordParts -> storeCommands (*command_line);
6148 case Dbeta_flow_tail_record:
6150 recordParts -> storeCommands (*command_line);
6153 case Dbeta_flow_tail_deg_record:
6155 recordParts -> storeCommands (*command_line);
6158 case pct_beta_flow_wing_record:
6160 recordParts -> storeCommands (*command_line);
6163 case pct_beta_flow_tail_record:
6165 recordParts -> storeCommands (*command_line);
6169 /************************ Forces ***********************/
6170 case F_X_wind_record:
6172 recordParts -> storeCommands (*command_line);
6175 case F_Y_wind_record:
6177 recordParts -> storeCommands (*command_line);
6180 case F_Z_wind_record:
6182 recordParts -> storeCommands (*command_line);
6185 case F_X_aero_record:
6187 recordParts -> storeCommands (*command_line);
6190 case F_Y_aero_record:
6192 recordParts -> storeCommands (*command_line);
6195 case F_Z_aero_record:
6197 recordParts -> storeCommands (*command_line);
6200 case F_X_engine_record:
6202 recordParts -> storeCommands (*command_line);
6205 case F_Y_engine_record:
6207 recordParts -> storeCommands (*command_line);
6210 case F_Z_engine_record:
6212 recordParts -> storeCommands (*command_line);
6215 case F_X_gear_record:
6217 recordParts -> storeCommands (*command_line);
6220 case F_Y_gear_record:
6222 recordParts -> storeCommands (*command_line);
6225 case F_Z_gear_record:
6227 recordParts -> storeCommands (*command_line);
6232 recordParts -> storeCommands (*command_line);
6237 recordParts -> storeCommands (*command_line);
6242 recordParts -> storeCommands (*command_line);
6245 case F_north_record:
6247 recordParts -> storeCommands (*command_line);
6252 recordParts -> storeCommands (*command_line);
6257 recordParts -> storeCommands (*command_line);
6261 /*********************** Moments ***********************/
6262 case M_l_aero_record:
6264 recordParts -> storeCommands (*command_line);
6267 case M_m_aero_record:
6269 recordParts -> storeCommands (*command_line);
6272 case M_n_aero_record:
6274 recordParts -> storeCommands (*command_line);
6277 case M_l_engine_record:
6279 recordParts -> storeCommands (*command_line);
6282 case M_m_engine_record:
6284 recordParts -> storeCommands (*command_line);
6287 case M_n_engine_record:
6289 recordParts -> storeCommands (*command_line);
6292 case M_l_gear_record:
6294 recordParts -> storeCommands (*command_line);
6297 case M_m_gear_record:
6299 recordParts -> storeCommands (*command_line);
6302 case M_n_gear_record:
6304 recordParts -> storeCommands (*command_line);
6309 recordParts -> storeCommands (*command_line);
6314 recordParts -> storeCommands (*command_line);
6319 recordParts -> storeCommands (*command_line);
6324 uiuc_warnings_errors(2, *command_line);
6334 switch(misc_map[linetoken2])
6336 case simpleHingeMomentCoef_flag:
6338 if (check_float(linetoken3))
6339 token3 >> token_value;
6341 uiuc_warnings_errors(1, *command_line);
6343 simpleHingeMomentCoef = token_value;
6346 case dfTimefdf_flag:
6348 dfTimefdf = linetoken3;
6349 /* call 1D File Reader with file name (dfTimefdf);
6350 function returns array of dfs (dfArray) and
6351 corresponding time values (TimeArray) and max
6352 number of terms in arrays (ndf) */
6353 uiuc_1DdataFileReader(dfTimefdf,
6355 dfTimefdf_TimeArray,
6361 uiuc_warnings_errors(2, *command_line);
6371 if (linetoken1=="*")
6373 uiuc_warnings_errors(2, *command_line);
6377 } // end keyword map