1 /**********************************************************************
3 FILENAME: uiuc_menu_ice.cpp
5 ----------------------------------------------------------------------
7 DESCRIPTION: reads input data 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: 04/04/2003 initial release
21 06/30/2003 (RD) replaced istrstream with istringstream
22 to get rid of the annoying warning about
23 using the strstream header
25 ----------------------------------------------------------------------
27 AUTHOR(S): Robert Deters <rdeters@uiuc.edu>
28 Michael Selig <m-selig@uiuc.edu>
30 ----------------------------------------------------------------------
34 ----------------------------------------------------------------------
38 ----------------------------------------------------------------------
42 ----------------------------------------------------------------------
44 CALLED BY: uiuc_menu()
46 ----------------------------------------------------------------------
48 CALLS TO: check_float() if needed
54 ----------------------------------------------------------------------
56 COPYRIGHT: (C) 2003 by Michael Selig
58 This program is free software; you can redistribute it and/or
59 modify it under the terms of the GNU General Public License
60 as published by the Free Software Foundation.
62 This program is distributed in the hope that it will be useful,
63 but WITHOUT ANY WARRANTY; without even the implied warranty of
64 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
65 GNU General Public License for more details.
67 You should have received a copy of the GNU General Public License
68 along with this program; if not, write to the Free Software
69 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
71 **********************************************************************/
73 #include <simgear/compiler.h>
80 #include "uiuc_menu_ice.h"
90 void parse_ice( const string& linetoken2, const string& linetoken3,
91 const string& linetoken4, const string& linetoken5,
92 const string& linetoken6, const string& linetoken7,
93 const string& linetoken8, const string& linetoken9,
94 const string& linetoken10, const string& aircraft_directory,
97 int token_value_convert1, token_value_convert2, token_value_convert3;
98 int token_value_convert4;
99 double datafile_xArray[100][100], datafile_yArray[100];
100 double datafile_zArray[100][100];
102 int datafile_nxArray[100], datafile_ny;
103 istringstream token3(linetoken3.c_str());
104 istringstream token4(linetoken4.c_str());
105 istringstream token5(linetoken5.c_str());
106 istringstream token6(linetoken6.c_str());
107 istringstream token7(linetoken7.c_str());
108 istringstream token8(linetoken8.c_str());
109 istringstream token9(linetoken9.c_str());
110 istringstream token10(linetoken10.c_str());
112 static bool tactilefadef_first = true;
114 switch(ice_map[linetoken2])
118 if (check_float(linetoken3))
119 token3 >> token_value;
122 uiuc_warnings_errors(1, *command_line);
125 iceTime = token_value;
128 case transientTime_flag:
130 if (check_float(linetoken3))
131 token3 >> token_value;
133 uiuc_warnings_errors(1, *command_line);
135 transientTime = token_value;
138 case eta_ice_final_flag:
140 if (check_float(linetoken3))
141 token3 >> token_value;
143 uiuc_warnings_errors(1, *command_line);
145 eta_ice_final = token_value;
148 case beta_probe_wing_flag:
150 if (check_float(linetoken3))
151 token3 >> token_value;
153 uiuc_warnings_errors(1, *command_line);
156 x_probe_wing = token_value;
159 case beta_probe_tail_flag:
161 if (check_float(linetoken3))
162 token3 >> token_value;
164 uiuc_warnings_errors(1, *command_line);
167 x_probe_tail = token_value;
172 if (check_float(linetoken3))
173 token3 >> token_value;
175 uiuc_warnings_errors(1, *command_line);
182 if (check_float(linetoken3))
183 token3 >> token_value;
185 uiuc_warnings_errors(1, *command_line);
192 if (check_float(linetoken3))
193 token3 >> token_value;
195 uiuc_warnings_errors(1, *command_line);
202 if (check_float(linetoken3))
203 token3 >> token_value;
205 uiuc_warnings_errors(1, *command_line);
207 kCD_adot = token_value;
212 if (check_float(linetoken3))
213 token3 >> token_value;
215 uiuc_warnings_errors(1, *command_line);
222 if (check_float(linetoken3))
223 token3 >> token_value;
225 uiuc_warnings_errors(1, *command_line);
227 kCD_de = token_value;
232 if (check_float(linetoken3))
233 token3 >> token_value;
235 uiuc_warnings_errors(1, *command_line);
242 if (check_float(linetoken3))
243 token3 >> token_value;
245 uiuc_warnings_errors(1, *command_line);
252 if (check_float(linetoken3))
253 token3 >> token_value;
255 uiuc_warnings_errors(1, *command_line);
262 if (check_float(linetoken3))
263 token3 >> token_value;
265 uiuc_warnings_errors(1, *command_line);
267 kCX_a2 = token_value;
272 if (check_float(linetoken3))
273 token3 >> token_value;
275 uiuc_warnings_errors(1, *command_line);
277 kCX_a3 = token_value;
282 if (check_float(linetoken3))
283 token3 >> token_value;
285 uiuc_warnings_errors(1, *command_line);
287 kCX_adot = token_value;
292 if (check_float(linetoken3))
293 token3 >> token_value;
295 uiuc_warnings_errors(1, *command_line);
302 if (check_float(linetoken3))
303 token3 >> token_value;
305 uiuc_warnings_errors(1, *command_line);
307 kCX_de = token_value;
312 if (check_float(linetoken3))
313 token3 >> token_value;
315 uiuc_warnings_errors(1, *command_line);
317 kCX_dr = token_value;
322 if (check_float(linetoken3))
323 token3 >> token_value;
325 uiuc_warnings_errors(1, *command_line);
327 kCX_df = token_value;
332 if (check_float(linetoken3))
333 token3 >> token_value;
335 uiuc_warnings_errors(1, *command_line);
337 kCX_adf = token_value;
342 if (check_float(linetoken3))
343 token3 >> token_value;
345 uiuc_warnings_errors(1, *command_line);
352 if (check_float(linetoken3))
353 token3 >> token_value;
355 uiuc_warnings_errors(1, *command_line);
362 if (check_float(linetoken3))
363 token3 >> token_value;
365 uiuc_warnings_errors(1, *command_line);
367 kCL_adot = token_value;
372 if (check_float(linetoken3))
373 token3 >> token_value;
375 uiuc_warnings_errors(1, *command_line);
382 if (check_float(linetoken3))
383 token3 >> token_value;
385 uiuc_warnings_errors(1, *command_line);
387 kCL_de = token_value;
392 if (check_float(linetoken3))
393 token3 >> token_value;
395 uiuc_warnings_errors(1, *command_line);
402 if (check_float(linetoken3))
403 token3 >> token_value;
405 uiuc_warnings_errors(1, *command_line);
412 if (check_float(linetoken3))
413 token3 >> token_value;
415 uiuc_warnings_errors(1, *command_line);
417 kCZ_a2 = token_value;
422 if (check_float(linetoken3))
423 token3 >> token_value;
425 uiuc_warnings_errors(1, *command_line);
427 kCZ_a3 = token_value;
432 if (check_float(linetoken3))
433 token3 >> token_value;
435 uiuc_warnings_errors(1, *command_line);
437 kCZ_adot = token_value;
442 if (check_float(linetoken3))
443 token3 >> token_value;
445 uiuc_warnings_errors(1, *command_line);
452 if (check_float(linetoken3))
453 token3 >> token_value;
455 uiuc_warnings_errors(1, *command_line);
457 kCZ_de = token_value;
462 if (check_float(linetoken3))
463 token3 >> token_value;
465 uiuc_warnings_errors(1, *command_line);
467 kCZ_deb2 = token_value;
472 if (check_float(linetoken3))
473 token3 >> token_value;
475 uiuc_warnings_errors(1, *command_line);
477 kCZ_df = token_value;
482 if (check_float(linetoken3))
483 token3 >> token_value;
485 uiuc_warnings_errors(1, *command_line);
487 kCZ_adf = token_value;
492 if (check_float(linetoken3))
493 token3 >> token_value;
495 uiuc_warnings_errors(1, *command_line);
502 if (check_float(linetoken3))
503 token3 >> token_value;
505 uiuc_warnings_errors(1, *command_line);
512 if (check_float(linetoken3))
513 token3 >> token_value;
515 uiuc_warnings_errors(1, *command_line);
517 kCm_a2 = token_value;
522 if (check_float(linetoken3))
523 token3 >> token_value;
525 uiuc_warnings_errors(1, *command_line);
527 kCm_adot = token_value;
532 if (check_float(linetoken3))
533 token3 >> token_value;
535 uiuc_warnings_errors(1, *command_line);
542 if (check_float(linetoken3))
543 token3 >> token_value;
545 uiuc_warnings_errors(1, *command_line);
547 kCm_de = token_value;
552 if (check_float(linetoken3))
553 token3 >> token_value;
555 uiuc_warnings_errors(1, *command_line);
557 kCm_b2 = token_value;
562 if (check_float(linetoken3))
563 token3 >> token_value;
565 uiuc_warnings_errors(1, *command_line);
572 if (check_float(linetoken3))
573 token3 >> token_value;
575 uiuc_warnings_errors(1, *command_line);
577 kCm_df = token_value;
582 if (check_float(linetoken3))
583 token3 >> token_value;
585 uiuc_warnings_errors(1, *command_line);
592 if (check_float(linetoken3))
593 token3 >> token_value;
595 uiuc_warnings_errors(1, *command_line);
597 kCY_beta = token_value;
602 if (check_float(linetoken3))
603 token3 >> token_value;
605 uiuc_warnings_errors(1, *command_line);
612 if (check_float(linetoken3))
613 token3 >> token_value;
615 uiuc_warnings_errors(1, *command_line);
622 if (check_float(linetoken3))
623 token3 >> token_value;
625 uiuc_warnings_errors(1, *command_line);
627 kCY_da = token_value;
632 if (check_float(linetoken3))
633 token3 >> token_value;
635 uiuc_warnings_errors(1, *command_line);
637 kCY_dr = token_value;
642 if (check_float(linetoken3))
643 token3 >> token_value;
645 uiuc_warnings_errors(1, *command_line);
647 kCY_dra = token_value;
652 if (check_float(linetoken3))
653 token3 >> token_value;
655 uiuc_warnings_errors(1, *command_line);
657 kCY_bdot = token_value;
662 if (check_float(linetoken3))
663 token3 >> token_value;
665 uiuc_warnings_errors(1, *command_line);
672 if (check_float(linetoken3))
673 token3 >> token_value;
675 uiuc_warnings_errors(1, *command_line);
677 kCl_beta = token_value;
682 if (check_float(linetoken3))
683 token3 >> token_value;
685 uiuc_warnings_errors(1, *command_line);
692 if (check_float(linetoken3))
693 token3 >> token_value;
695 uiuc_warnings_errors(1, *command_line);
702 if (check_float(linetoken3))
703 token3 >> token_value;
705 uiuc_warnings_errors(1, *command_line);
707 kCl_da = token_value;
712 if (check_float(linetoken3))
713 token3 >> token_value;
715 uiuc_warnings_errors(1, *command_line);
717 kCl_dr = token_value;
722 if (check_float(linetoken3))
723 token3 >> token_value;
725 uiuc_warnings_errors(1, *command_line);
727 kCl_daa = token_value;
732 if (check_float(linetoken3))
733 token3 >> token_value;
735 uiuc_warnings_errors(1, *command_line);
742 if (check_float(linetoken3))
743 token3 >> token_value;
745 uiuc_warnings_errors(1, *command_line);
747 kCn_beta = token_value;
752 if (check_float(linetoken3))
753 token3 >> token_value;
755 uiuc_warnings_errors(1, *command_line);
762 if (check_float(linetoken3))
763 token3 >> token_value;
765 uiuc_warnings_errors(1, *command_line);
772 if (check_float(linetoken3))
773 token3 >> token_value;
775 uiuc_warnings_errors(1, *command_line);
777 kCn_da = token_value;
782 if (check_float(linetoken3))
783 token3 >> token_value;
785 uiuc_warnings_errors(1, *command_line);
787 kCn_dr = token_value;
792 if (check_float(linetoken3))
793 token3 >> token_value;
795 uiuc_warnings_errors(1, *command_line);
802 if (check_float(linetoken3))
803 token3 >> token_value;
805 uiuc_warnings_errors(1, *command_line);
807 kCn_b3 = token_value;
813 if (check_float(linetoken4))
814 token4 >> token_value;
816 uiuc_warnings_errors(1, *command_line);
818 if (index < 0 || index >= 20)
819 uiuc_warnings_errors(1, *command_line);
820 bootTime[index] = token_value;
821 bootTrue[index] = true;
824 case eta_wing_left_input_flag:
826 eta_from_file = true;
827 eta_wing_left_input = true;
828 eta_wing_left_input_file = aircraft_directory + linetoken3;
829 token4 >> token_value_convert1;
830 token5 >> token_value_convert2;
831 convert_y = uiuc_convert(token_value_convert1);
832 convert_x = uiuc_convert(token_value_convert2);
833 uiuc_1DdataFileReader(eta_wing_left_input_file,
834 eta_wing_left_input_timeArray,
835 eta_wing_left_input_daArray,
836 eta_wing_left_input_ntime);
837 token6 >> token_value;
838 eta_wing_left_input_startTime = token_value;
841 case eta_wing_right_input_flag:
843 eta_from_file = true;
844 eta_wing_right_input = true;
845 eta_wing_right_input_file = aircraft_directory + linetoken3;
846 token4 >> token_value_convert1;
847 token5 >> token_value_convert2;
848 convert_y = uiuc_convert(token_value_convert1);
849 convert_x = uiuc_convert(token_value_convert2);
850 uiuc_1DdataFileReader(eta_wing_right_input_file,
851 eta_wing_right_input_timeArray,
852 eta_wing_right_input_daArray,
853 eta_wing_right_input_ntime);
854 token6 >> token_value;
855 eta_wing_right_input_startTime = token_value;
858 case eta_tail_input_flag:
860 eta_from_file = true;
861 eta_tail_input = true;
862 eta_tail_input_file = aircraft_directory + linetoken3;
863 token4 >> token_value_convert1;
864 token5 >> token_value_convert2;
865 convert_y = uiuc_convert(token_value_convert1);
866 convert_x = uiuc_convert(token_value_convert2);
867 uiuc_1DdataFileReader(eta_tail_input_file,
868 eta_tail_input_timeArray,
869 eta_tail_input_daArray,
870 eta_tail_input_ntime);
871 token6 >> token_value;
872 eta_tail_input_startTime = token_value;
875 case nonlin_ice_case_flag:
877 token3 >> nonlin_ice_case;
882 if (check_float(linetoken3))
883 token3 >> token_value;
885 uiuc_warnings_errors(1, *command_line);
887 eta_tail = token_value;
890 case eta_wing_left_flag:
892 if (check_float(linetoken3))
893 token3 >> token_value;
895 uiuc_warnings_errors(1, *command_line);
897 eta_wing_left = token_value;
900 case eta_wing_right_flag:
902 if (check_float(linetoken3))
903 token3 >> token_value;
905 uiuc_warnings_errors(1, *command_line);
907 eta_wing_right = token_value;
910 case demo_eps_alpha_max_flag:
912 demo_eps_alpha_max = true;
913 demo_eps_alpha_max_file = aircraft_directory + linetoken3;
914 token4 >> token_value_convert1;
915 token5 >> token_value_convert2;
916 convert_y = uiuc_convert(token_value_convert1);
917 convert_x = uiuc_convert(token_value_convert2);
918 uiuc_1DdataFileReader(demo_eps_alpha_max_file,
919 demo_eps_alpha_max_timeArray,
920 demo_eps_alpha_max_daArray,
921 demo_eps_alpha_max_ntime);
922 token6 >> token_value;
923 demo_eps_alpha_max_startTime = token_value;
926 case demo_eps_pitch_max_flag:
928 demo_eps_pitch_max = true;
929 demo_eps_pitch_max_file = aircraft_directory + linetoken3;
930 token4 >> token_value_convert1;
931 token5 >> token_value_convert2;
932 convert_y = uiuc_convert(token_value_convert1);
933 convert_x = uiuc_convert(token_value_convert2);
934 uiuc_1DdataFileReader(demo_eps_pitch_max_file,
935 demo_eps_pitch_max_timeArray,
936 demo_eps_pitch_max_daArray,
937 demo_eps_pitch_max_ntime);
938 token6 >> token_value;
939 demo_eps_pitch_max_startTime = token_value;
942 case demo_eps_pitch_min_flag:
944 demo_eps_pitch_min = true;
945 demo_eps_pitch_min_file = aircraft_directory + linetoken3;
946 token4 >> token_value_convert1;
947 token5 >> token_value_convert2;
948 convert_y = uiuc_convert(token_value_convert1);
949 convert_x = uiuc_convert(token_value_convert2);
950 uiuc_1DdataFileReader(demo_eps_pitch_min_file,
951 demo_eps_pitch_min_timeArray,
952 demo_eps_pitch_min_daArray,
953 demo_eps_pitch_min_ntime);
954 token6 >> token_value;
955 demo_eps_pitch_min_startTime = token_value;
958 case demo_eps_roll_max_flag:
960 demo_eps_roll_max = true;
961 demo_eps_roll_max_file = aircraft_directory + linetoken3;
962 token4 >> token_value_convert1;
963 token5 >> token_value_convert2;
964 convert_y = uiuc_convert(token_value_convert1);
965 convert_x = uiuc_convert(token_value_convert2);
966 uiuc_1DdataFileReader(demo_eps_roll_max_file,
967 demo_eps_roll_max_timeArray,
968 demo_eps_roll_max_daArray,
969 demo_eps_roll_max_ntime);
970 token6 >> token_value;
971 demo_eps_roll_max_startTime = token_value;
974 case demo_eps_thrust_min_flag:
976 demo_eps_thrust_min = true;
977 demo_eps_thrust_min_file = aircraft_directory + linetoken3;
978 token4 >> token_value_convert1;
979 token5 >> token_value_convert2;
980 convert_y = uiuc_convert(token_value_convert1);
981 convert_x = uiuc_convert(token_value_convert2);
982 uiuc_1DdataFileReader(demo_eps_thrust_min_file,
983 demo_eps_thrust_min_timeArray,
984 demo_eps_thrust_min_daArray,
985 demo_eps_thrust_min_ntime);
986 token6 >> token_value;
987 demo_eps_thrust_min_startTime = token_value;
990 case demo_eps_airspeed_max_flag:
992 demo_eps_airspeed_max = true;
993 demo_eps_airspeed_max_file = aircraft_directory + linetoken3;
994 token4 >> token_value_convert1;
995 token5 >> token_value_convert2;
996 convert_y = uiuc_convert(token_value_convert1);
997 convert_x = uiuc_convert(token_value_convert2);
998 uiuc_1DdataFileReader(demo_eps_airspeed_max_file,
999 demo_eps_airspeed_max_timeArray,
1000 demo_eps_airspeed_max_daArray,
1001 demo_eps_airspeed_max_ntime);
1002 token6 >> token_value;
1003 demo_eps_airspeed_max_startTime = token_value;
1006 case demo_eps_airspeed_min_flag:
1008 demo_eps_airspeed_min = true;
1009 demo_eps_airspeed_min_file = aircraft_directory + linetoken3;
1010 token4 >> token_value_convert1;
1011 token5 >> token_value_convert2;
1012 convert_y = uiuc_convert(token_value_convert1);
1013 convert_x = uiuc_convert(token_value_convert2);
1014 uiuc_1DdataFileReader(demo_eps_airspeed_min_file,
1015 demo_eps_airspeed_min_timeArray,
1016 demo_eps_airspeed_min_daArray,
1017 demo_eps_airspeed_min_ntime);
1018 token6 >> token_value;
1019 demo_eps_airspeed_min_startTime = token_value;
1022 case demo_eps_flap_max_flag:
1024 demo_eps_flap_max = true;
1025 demo_eps_flap_max_file = aircraft_directory + linetoken3;
1026 token4 >> token_value_convert1;
1027 token5 >> token_value_convert2;
1028 convert_y = uiuc_convert(token_value_convert1);
1029 convert_x = uiuc_convert(token_value_convert2);
1030 uiuc_1DdataFileReader(demo_eps_flap_max_file,
1031 demo_eps_flap_max_timeArray,
1032 demo_eps_flap_max_daArray,
1033 demo_eps_flap_max_ntime);
1034 token6 >> token_value;
1035 demo_eps_flap_max_startTime = token_value;
1038 case demo_boot_cycle_tail_flag:
1040 demo_boot_cycle_tail = true;
1041 demo_boot_cycle_tail_file = aircraft_directory + linetoken3;
1042 token4 >> token_value_convert1;
1043 token5 >> token_value_convert2;
1044 convert_y = uiuc_convert(token_value_convert1);
1045 convert_x = uiuc_convert(token_value_convert2);
1046 uiuc_1DdataFileReader(demo_boot_cycle_tail_file,
1047 demo_boot_cycle_tail_timeArray,
1048 demo_boot_cycle_tail_daArray,
1049 demo_boot_cycle_tail_ntime);
1050 token6 >> token_value;
1051 demo_boot_cycle_tail_startTime = token_value;
1054 case demo_boot_cycle_wing_left_flag:
1056 demo_boot_cycle_wing_left = true;
1057 demo_boot_cycle_wing_left_file = aircraft_directory + linetoken3;
1058 token4 >> token_value_convert1;
1059 token5 >> token_value_convert2;
1060 convert_y = uiuc_convert(token_value_convert1);
1061 convert_x = uiuc_convert(token_value_convert2);
1062 uiuc_1DdataFileReader(demo_boot_cycle_wing_left_file,
1063 demo_boot_cycle_wing_left_timeArray,
1064 demo_boot_cycle_wing_left_daArray,
1065 demo_boot_cycle_wing_left_ntime);
1066 token6 >> token_value;
1067 demo_boot_cycle_wing_left_startTime = token_value;
1070 case demo_boot_cycle_wing_right_flag:
1072 demo_boot_cycle_wing_right = true;
1073 demo_boot_cycle_wing_right_file = aircraft_directory + linetoken3;
1074 token4 >> token_value_convert1;
1075 token5 >> token_value_convert2;
1076 convert_y = uiuc_convert(token_value_convert1);
1077 convert_x = uiuc_convert(token_value_convert2);
1078 uiuc_1DdataFileReader(demo_boot_cycle_wing_right_file,
1079 demo_boot_cycle_wing_right_timeArray,
1080 demo_boot_cycle_wing_right_daArray,
1081 demo_boot_cycle_wing_right_ntime);
1082 token6 >> token_value;
1083 demo_boot_cycle_wing_right_startTime = token_value;
1086 case demo_eps_pitch_input_flag:
1088 demo_eps_pitch_input = true;
1089 demo_eps_pitch_input_file = aircraft_directory + linetoken3;
1090 token4 >> token_value_convert1;
1091 token5 >> token_value_convert2;
1092 convert_y = uiuc_convert(token_value_convert1);
1093 convert_x = uiuc_convert(token_value_convert2);
1094 uiuc_1DdataFileReader(demo_eps_pitch_input_file,
1095 demo_eps_pitch_input_timeArray,
1096 demo_eps_pitch_input_daArray,
1097 demo_eps_pitch_input_ntime);
1098 token6 >> token_value;
1099 demo_eps_pitch_input_startTime = token_value;
1102 case demo_ap_pah_on_flag:
1104 demo_ap_pah_on = true;
1105 demo_ap_pah_on_file = aircraft_directory + linetoken3;
1106 token4 >> token_value_convert1;
1107 token5 >> token_value_convert2;
1108 convert_y = uiuc_convert(token_value_convert1);
1109 convert_x = uiuc_convert(token_value_convert2);
1110 uiuc_1DdataFileReader(demo_ap_pah_on_file,
1111 demo_ap_pah_on_timeArray,
1112 demo_ap_pah_on_daArray,
1113 demo_ap_pah_on_ntime);
1114 token6 >> token_value;
1115 demo_ap_pah_on_startTime = token_value;
1118 case demo_ap_alh_on_flag:
1120 demo_ap_alh_on = true;
1121 demo_ap_alh_on_file = aircraft_directory + linetoken3;
1122 token4 >> token_value_convert1;
1123 token5 >> token_value_convert2;
1124 convert_y = uiuc_convert(token_value_convert1);
1125 convert_x = uiuc_convert(token_value_convert2);
1126 uiuc_1DdataFileReader(demo_ap_alh_on_file,
1127 demo_ap_alh_on_timeArray,
1128 demo_ap_alh_on_daArray,
1129 demo_ap_alh_on_ntime);
1130 token6 >> token_value;
1131 demo_ap_alh_on_startTime = token_value;
1134 case demo_ap_rah_on_flag:
1136 demo_ap_rah_on = true;
1137 demo_ap_rah_on_file = aircraft_directory + linetoken3;
1138 token4 >> token_value_convert1;
1139 token5 >> token_value_convert2;
1140 convert_y = uiuc_convert(token_value_convert1);
1141 convert_x = uiuc_convert(token_value_convert2);
1142 uiuc_1DdataFileReader(demo_ap_rah_on_file,
1143 demo_ap_rah_on_timeArray,
1144 demo_ap_rah_on_daArray,
1145 demo_ap_rah_on_ntime);
1146 token6 >> token_value;
1147 demo_ap_rah_on_startTime = token_value;
1150 case demo_ap_hh_on_flag:
1152 demo_ap_hh_on = true;
1153 demo_ap_hh_on_file = aircraft_directory + linetoken3;
1154 token4 >> token_value_convert1;
1155 token5 >> token_value_convert2;
1156 convert_y = uiuc_convert(token_value_convert1);
1157 convert_x = uiuc_convert(token_value_convert2);
1158 uiuc_1DdataFileReader(demo_ap_hh_on_file,
1159 demo_ap_hh_on_timeArray,
1160 demo_ap_hh_on_daArray,
1161 demo_ap_hh_on_ntime);
1162 token6 >> token_value;
1163 demo_ap_hh_on_startTime = token_value;
1166 case demo_ap_Theta_ref_flag:
1168 demo_ap_Theta_ref = true;
1169 demo_ap_Theta_ref_file = aircraft_directory + linetoken3;
1170 token4 >> token_value_convert1;
1171 token5 >> token_value_convert2;
1172 convert_y = uiuc_convert(token_value_convert1);
1173 convert_x = uiuc_convert(token_value_convert2);
1174 uiuc_1DdataFileReader(demo_ap_Theta_ref_file,
1175 demo_ap_Theta_ref_timeArray,
1176 demo_ap_Theta_ref_daArray,
1177 demo_ap_Theta_ref_ntime);
1178 token6 >> token_value;
1179 demo_ap_Theta_ref_startTime = token_value;
1182 case demo_ap_alt_ref_flag:
1184 demo_ap_alt_ref = true;
1185 demo_ap_alt_ref_file = aircraft_directory + linetoken3;
1186 token4 >> token_value_convert1;
1187 token5 >> token_value_convert2;
1188 convert_y = uiuc_convert(token_value_convert1);
1189 convert_x = uiuc_convert(token_value_convert2);
1190 uiuc_1DdataFileReader(demo_ap_alt_ref_file,
1191 demo_ap_alt_ref_timeArray,
1192 demo_ap_alt_ref_daArray,
1193 demo_ap_alt_ref_ntime);
1194 token6 >> token_value;
1195 demo_ap_alt_ref_startTime = token_value;
1198 case demo_ap_Phi_ref_flag:
1200 demo_ap_Phi_ref = true;
1201 demo_ap_Phi_ref_file = aircraft_directory + linetoken3;
1202 token4 >> token_value_convert1;
1203 token5 >> token_value_convert2;
1204 convert_y = uiuc_convert(token_value_convert1);
1205 convert_x = uiuc_convert(token_value_convert2);
1206 uiuc_1DdataFileReader(demo_ap_Phi_ref_file,
1207 demo_ap_Phi_ref_timeArray,
1208 demo_ap_Phi_ref_daArray,
1209 demo_ap_Phi_ref_ntime);
1210 token6 >> token_value;
1211 demo_ap_Phi_ref_startTime = token_value;
1214 case demo_ap_Psi_ref_flag:
1216 demo_ap_Psi_ref = true;
1217 demo_ap_Psi_ref_file = aircraft_directory + linetoken3;
1218 token4 >> token_value_convert1;
1219 token5 >> token_value_convert2;
1220 convert_y = uiuc_convert(token_value_convert1);
1221 convert_x = uiuc_convert(token_value_convert2);
1222 uiuc_1DdataFileReader(demo_ap_Psi_ref_file,
1223 demo_ap_Psi_ref_timeArray,
1224 demo_ap_Psi_ref_daArray,
1225 demo_ap_Psi_ref_ntime);
1226 token6 >> token_value;
1227 demo_ap_Psi_ref_startTime = token_value;
1230 case tactilefadef_flag:
1232 int tactilefadef_index, i;
1233 string tactilefadef_file;
1235 tactilefadef = true;
1236 tactilefadef_file = aircraft_directory + linetoken3;
1237 token4 >> tactilefadef_index;
1238 if (tactilefadef_index < 0 || tactilefadef_index >= 30)
1239 uiuc_warnings_errors(1, *command_line);
1240 if (tactilefadef_index > tactilefadef_nf)
1241 tactilefadef_nf = tactilefadef_index;
1242 token5 >> flap_value;
1243 token6 >> token_value_convert1;
1244 token7 >> token_value_convert2;
1245 token8 >> token_value_convert3;
1246 token9 >> token_value_convert4;
1247 token10 >> tactilefadef_nice;
1248 convert_z = uiuc_convert(token_value_convert1);
1249 convert_x = uiuc_convert(token_value_convert2);
1250 convert_y = uiuc_convert(token_value_convert3);
1251 convert_f = uiuc_convert(token_value_convert4);
1252 tactilefadef_fArray[tactilefadef_index] = flap_value * convert_f;
1253 /* call 2D File Reader with file name (tactilefadef_file) and
1254 conversion factors; function returns array of
1255 elevator deflections (deArray) and corresponding
1256 alpha (aArray) and delta CZ (CZArray) values and
1257 max number of terms in alpha arrays (nAlphaArray)
1258 and delfection array (nde) */
1259 uiuc_2DdataFileReader(tactilefadef_file,
1265 d_2_to_3(datafile_xArray, tactilefadef_aArray, tactilefadef_index);
1266 d_1_to_2(datafile_yArray, tactilefadef_deArray, tactilefadef_index);
1267 d_2_to_3(datafile_zArray, tactilefadef_tactileArray, tactilefadef_index);
1268 i_1_to_2(datafile_nxArray, tactilefadef_nAlphaArray, tactilefadef_index);
1269 tactilefadef_nde[tactilefadef_index] = datafile_ny;
1270 if (tactilefadef_first==true)
1272 if (tactilefadef_nice == 1)
1274 tactilefadef_na_nice = datafile_nxArray[1];
1275 tactilefadef_nde_nice = datafile_ny;
1276 d_1_to_1(datafile_yArray, tactilefadef_deArray_nice);
1277 for (i=1; i<=tactilefadef_na_nice; i++)
1278 tactilefadef_aArray_nice[i] = datafile_xArray[1][i];
1280 tactilefadef_first=false;
1284 case tactile_pitch_flag:
1289 case demo_tactile_flag:
1291 demo_tactile = true;
1292 demo_tactile_file = aircraft_directory + linetoken3;
1293 token4 >> token_value_convert1;
1294 token5 >> token_value_convert2;
1295 convert_y = uiuc_convert(token_value_convert1);
1296 convert_x = uiuc_convert(token_value_convert2);
1297 uiuc_1DdataFileReader(demo_tactile_file,
1298 demo_tactile_timeArray,
1299 demo_tactile_daArray,
1300 demo_tactile_ntime);
1301 token6 >> token_value;
1302 demo_tactile_startTime = token_value;
1305 case demo_ice_tail_flag:
1307 demo_ice_tail = true;
1308 demo_ice_tail_file = aircraft_directory + linetoken3;
1309 token4 >> token_value_convert1;
1310 token5 >> token_value_convert2;
1311 convert_y = uiuc_convert(token_value_convert1);
1312 convert_x = uiuc_convert(token_value_convert2);
1313 uiuc_1DdataFileReader(demo_ice_tail_file,
1314 demo_ice_tail_timeArray,
1315 demo_ice_tail_daArray,
1316 demo_ice_tail_ntime);
1317 token6 >> token_value;
1318 demo_ice_tail_startTime = token_value;
1321 case demo_ice_left_flag:
1323 demo_ice_left = true;
1324 demo_ice_left_file = aircraft_directory + linetoken3;
1325 token4 >> token_value_convert1;
1326 token5 >> token_value_convert2;
1327 convert_y = uiuc_convert(token_value_convert1);
1328 convert_x = uiuc_convert(token_value_convert2);
1329 uiuc_1DdataFileReader(demo_ice_left_file,
1330 demo_ice_left_timeArray,
1331 demo_ice_left_daArray,
1332 demo_ice_left_ntime);
1333 token6 >> token_value;
1334 demo_ice_left_startTime = token_value;
1337 case demo_ice_right_flag:
1339 demo_ice_right = true;
1340 demo_ice_right_file = aircraft_directory + linetoken3;
1341 token4 >> token_value_convert1;
1342 token5 >> token_value_convert2;
1343 convert_y = uiuc_convert(token_value_convert1);
1344 convert_x = uiuc_convert(token_value_convert2);
1345 uiuc_1DdataFileReader(demo_ice_right_file,
1346 demo_ice_right_timeArray,
1347 demo_ice_right_daArray,
1348 demo_ice_right_ntime);
1349 token6 >> token_value;
1350 demo_ice_right_startTime = token_value;
1355 if (ignore_unknown_keywords) {
1358 // print error message
1359 uiuc_warnings_errors(2, *command_line);