X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FUIUCModel%2Fuiuc_menu.cpp;h=06f9dea493fd9314f0d9d20c1cb57d08460d64d3;hb=219be77f1e329b03a7dcf1d697ea2fdbf7f1a81a;hp=016321056e2641c0f6dd07740703a9815cb2d7eb;hpb=1dc35581f5ad10aabd45073b12b9733146d34b38;p=flightgear.git diff --git a/src/FDM/UIUCModel/uiuc_menu.cpp b/src/FDM/UIUCModel/uiuc_menu.cpp index 016321056..06f9dea49 100644 --- a/src/FDM/UIUCModel/uiuc_menu.cpp +++ b/src/FDM/UIUCModel/uiuc_menu.cpp @@ -41,13 +41,66 @@ 04/05/2000 (JS) added Altitude to init and record maps; added zero_Long_trim to controlSurface map + 03/09/2001 (DPM) added support for gear. + 06/18/2001 (RD) Added Alpha, Beta, U_body, + V_body, and W_body to init map. Added + aileron_input, rudder_input, pilot_elev_no, + pilot_ail_no, and pilot_rud_no to + controlSurface map. Added Throttle_pct_input + to engine map. Added CZfa to CL map. + 07/05/2001 (RD) Changed pilot_elev_no = true to pilot_ + elev_no_check=false. This is to allow pilot + to fly aircraft after input files have been + used. + 08/27/2001 (RD) Added xxx_init_true and xxx_init for + P_body, Q_body, R_body, Phi, Theta, Psi, + U_body, V_body, and W_body to help in + starting the A/C at an initial condition. + 10/25/2001 (RD) Added new variables needed for the non- + linear Twin Otter model at zero flaps + (Cxfxxf0) + 11/12/2001 (RD) Added new variables needed for the non- + linear Twin Otter model with flaps + (Cxfxxf). Removed zero flap variables. + Added minmaxfind() which is needed for non- + linear variables + 01/11/2002 (AP) Added keywords for bootTime + 02/13/2002 (RD) Added variables so linear aero model + values can be recorded + 02/18/2002 (RD) Added variables necessary to use the + uiuc_3Dinterp_quick() function. Takes + advantage of data in a "nice" form (data + that are in a rectangular matrix). + 03/13/2002 (RD) Added aircraft_directory so full path + is no longer needed in the aircraft.dat file + 04/02/2002 (RD) Removed minmaxfind() since it was no + longer needed. Added d_2_to_3(), + d_1_to_2(), and i_1_to_2() so uiuc_menu() + will compile with certain compilers. + 08/29/2002 (RD) Separated each primary keyword into its + own function to speed up compile time + 08/29/2002 (RD w/ help from CO) Made changes to shorten + compile time. [] RD to add more comments here. + 08/29/2003 (MSS) Adding new keywords for new engine model + and slipstream effects on tail. + 03/02/2003 (RD) Changed Cxfxxf areas so that there is a + conversion factor for flap angle + 03/03/2003 (RD) Added flap_cmd_record + 03/16/2003 (RD) Added trigger record flags + 04/02/2003 (RD) Tokens are now equal to 0 when no value + is given in the input file + 04/04/2003 (RD) To speed up compile time on this file, + each first level token now goes to its + own file uiuc_menu_*.cpp ---------------------------------------------------------------------- AUTHOR(S): Bipin Sehgal - Jeff Scott + Jeff Scott http://www.jeffscott.net/ + Robert Deters Michael Selig - + David Megginson + Ann Peedikayil ---------------------------------------------------------------------- VARIABLES: @@ -68,6 +121,22 @@ CALLS TO: aircraft.dat tabulated data files (if needed) + uiuc_menu_init() + uiuc_menu_geometry() + uiuc_menu_mass() + uiuc_menu_controlSurface() + uiuc_menu_CD() + uiuc_menu_CL() + uiuc_menu_Cm() + uiuc_menu_CY() + uiuc_menu_Cl() + uiuc_menu_Cn() + uiuc_menu_ice() + uiuc_menu_engine() + uiuc_menu_fog() + uiuc_menu_gear() + uiuc_menu_record() + uiuc_menu_misc() ---------------------------------------------------------------------- @@ -84,43 +153,43 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA or view http://www.gnu.org/copyleft/gpl.html. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **********************************************************************/ #include -#include "uiuc_menu.h" + +#include +#include #include -FG_USING_STD(cerr); -FG_USING_STD(cout); -FG_USING_STD(endl); +#include "uiuc_menu.h" -bool check_float(string &token) -{ - float value; - istrstream stream(token.c_str()); - return (stream >> value); -} +using std::cerr; +using std::cout; +using std::endl; +#ifndef _MSC_VER +using std::exit; +#endif void uiuc_menu( string aircraft_name ) { + string aircraft_directory; stack command_list; - double token_value; - int token_value_recordRate; - int token_value_convert1, token_value_convert2, token_value_convert3; - + string linetoken1; string linetoken2; string linetoken3; string linetoken4; string linetoken5; string linetoken6; - - + string linetoken7; + string linetoken8; + string linetoken9; + string linetoken10; + /* the following default setting should eventually be moved to a default or uiuc_init routine */ recordRate = 1; /* record every time step, default */ @@ -128,9 +197,9 @@ void uiuc_menu( string aircraft_name ) /* set speed at which dynamic pressure terms will be accounted for, since if velocity is too small, coefficients will go to infinity */ - dyn_on_speed = 33; /* 20 kts, default */ - - + dyn_on_speed = 33; /* 20 kts (33 ft/sec), default */ + dyn_on_speed_zero = 0.5 * dyn_on_speed; /* only used if use_dyn_on_speed_curve1 is used */ + bootindex = 0; // the index for the bootTime /* Read the file and get the list of commands */ airplane = new ParseFile(aircraft_name); /* struct that includes all lines of the input file */ @@ -155,2692 +224,205 @@ void uiuc_menu( string aircraft_name ) exit(-1); } + //construct aircraft-directory + aircraft_directory = aircraft_name; + int index_aircraft_dat = aircraft_directory.find("aircraft.dat"); + aircraft_directory.erase(index_aircraft_dat,12); + for (LIST command_line = command_list.begin(); command_line!=command_list.end(); ++command_line) { cout << *command_line << endl; linetoken1 = airplane -> getToken (*command_line, 1); linetoken2 = airplane -> getToken (*command_line, 2); + if (linetoken2=="") + linetoken2="0"; linetoken3 = airplane -> getToken (*command_line, 3); + if (linetoken3=="") + linetoken3="0"; linetoken4 = airplane -> getToken (*command_line, 4); + if (linetoken4=="") + linetoken4="0"; linetoken5 = airplane -> getToken (*command_line, 5); + if (linetoken5=="") + linetoken5="0"; linetoken6 = airplane -> getToken (*command_line, 6); - - istrstream token3(linetoken3.c_str()); - istrstream token4(linetoken4.c_str()); - istrstream token5(linetoken5.c_str()); - istrstream token6(linetoken6.c_str()); + if (linetoken6=="") + linetoken6="0"; + linetoken7 = airplane -> getToken (*command_line, 7); + if (linetoken7=="") + linetoken7="0"; + linetoken8 = airplane -> getToken (*command_line, 8); + if (linetoken8=="") + linetoken8="0"; + linetoken9 = airplane -> getToken (*command_line, 9); + if (linetoken9=="") + linetoken9="0"; + linetoken10 = airplane -> getToken (*command_line, 10); + if (linetoken10=="") + linetoken10="0"; + + //cout << linetoken1 << endl; + //cout << linetoken2 << endl; + //cout << linetoken3 << endl; + //cout << linetoken4 << endl; + //cout << linetoken5 << endl; + //cout << linetoken6 << endl; + //cout << linetoken7 << endl; + //cout << linetoken8 << endl; + //cout << linetoken9 << endl; + //cout << linetoken10 << endl; + + //istrstream token3(linetoken3.c_str()); + //istrstream token4(linetoken4.c_str()); + //istrstream token5(linetoken5.c_str()); + //istrstream token6(linetoken6.c_str()); + //istrstream token7(linetoken7.c_str()); + //istrstream token8(linetoken8.c_str()); + //istrstream token9(linetoken9.c_str()); + //istrstream token10(linetoken10.c_str()); switch (Keyword_map[linetoken1]) { case init_flag: { - switch(init_map[linetoken2]) - { - case Dx_pilot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Dx_pilot = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Dy_pilot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Dy_pilot = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Dz_pilot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Dz_pilot = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Dx_cg_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Dx_cg = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Dy_cg_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Dy_cg = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Dz_cg_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Dz_cg = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Altitude_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Altitude = token_value; - initParts -> storeCommands (*command_line); - break; - } - case V_north_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - V_north = token_value; - initParts -> storeCommands (*command_line); - break; - } - case V_east_flag: - { - initParts -> storeCommands (*command_line); - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - V_east = token_value; - break; - } - case V_down_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - V_down = token_value; - initParts -> storeCommands (*command_line); - break; - } - case P_body_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - P_body = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Q_body_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Q_body = token_value; - initParts -> storeCommands (*command_line); - break; - } - case R_body_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - R_body = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Phi_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Phi = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Theta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Theta = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Psi_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Psi = token_value; - initParts -> storeCommands (*command_line); - break; - } - case Long_trim_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Long_trim = token_value; - initParts -> storeCommands (*command_line); - break; - } - case recordRate_flag: - { - //can't use check_float since variable is integer - token3 >> token_value_recordRate; - recordRate = 120 / token_value_recordRate; - break; - } - case recordStartTime_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - recordStartTime = token_value; - break; - } - case nondim_rate_V_rel_wind_flag: - { - nondim_rate_V_rel_wind = true; - break; - } - case dyn_on_speed_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - dyn_on_speed = token_value; - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_init( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end init map - + case geometry_flag: { - switch(geometry_map[linetoken2]) - { - case bw_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - bw = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - case cbar_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - cbar = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - case Sw_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Sw = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - case ih_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - ih = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - case bh_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - bh = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - case ch_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - ch = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - case Sh_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Sh = token_value; - geometryParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_geometry( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end geometry map case controlSurface_flag: { - switch(controlSurface_map[linetoken2]) - { - case de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - demax = token_value; - - if (check_float(linetoken4)) - token4 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - demin = token_value; - break; - } - case da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - damax = token_value; - - if (check_float(linetoken4)) - token4 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - damin = token_value; - break; - } - case dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - drmax = token_value; - - if (check_float(linetoken4)) - token4 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - drmin = token_value; - break; - } - case set_Long_trim_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - set_Long_trim = true; - elevator_tab = token_value; - break; - } - case set_Long_trim_deg_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - set_Long_trim = true; - elevator_tab = token_value * DEG_TO_RAD; - break; - } - case zero_Long_trim_flag: - { - zero_Long_trim = true; - break; - } - case elevator_step_flag: - { - // set step input flag - elevator_step = true; - - // read in step angle in degrees and convert - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_step_angle = token_value * DEG_TO_RAD; - - // read in step start time - if (check_float(linetoken4)) - token4 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_step_startTime = token_value; - break; - } - case elevator_singlet_flag: - { - // set singlet input flag - elevator_singlet = true; - - // read in singlet angle in degrees and convert - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_singlet_angle = token_value * DEG_TO_RAD; - - // read in singlet start time - if (check_float(linetoken4)) - token4 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_singlet_startTime = token_value; - - // read in singlet duration - if (check_float(linetoken5)) - token5 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_singlet_duration = token_value; - break; - } - case elevator_doublet_flag: - { - // set doublet input flag - elevator_doublet = true; - - // read in doublet angle in degrees and convert - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_doublet_angle = token_value * DEG_TO_RAD; - - // read in doublet start time - if (check_float(linetoken4)) - token4 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_doublet_startTime = token_value; - - // read in doublet duration - if (check_float(linetoken5)) - token5 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - elevator_doublet_duration = token_value; - break; - } - case elevator_input_flag: - { - elevator_input = true; - elevator_input_file = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - uiuc_1DdataFileReader(elevator_input_file, - elevator_input_timeArray, - elevator_input_deArray, - elevator_input_ntime); - token6 >> token_value; - elevator_input_startTime = token_value; - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_controlSurface( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end controlSurface map case mass_flag: { - switch(mass_map[linetoken2]) - { - case Weight_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Weight = token_value; - Mass = Weight * INVG; - massParts -> storeCommands (*command_line); - break; - } - case Mass_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Mass = token_value; - massParts -> storeCommands (*command_line); - break; - } - case I_xx_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - I_xx = token_value; - massParts -> storeCommands (*command_line); - break; - } - case I_yy_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - I_yy = token_value; - massParts -> storeCommands (*command_line); - break; - } - case I_zz_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - I_zz = token_value; - massParts -> storeCommands (*command_line); - break; - } - case I_xz_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - I_xz = token_value; - massParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_mass( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end mass map case engine_flag: { - switch(engine_map[linetoken2]) - { - case simpleSingle_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - simpleSingleMaxThrust = token_value; - engineParts -> storeCommands (*command_line); - break; - } - case c172_flag: - { - engineParts -> storeCommands (*command_line); - break; - } - case cherokee_flag: - { - engineParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_engine( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end engine map case CD_flag: { - switch(CD_map[linetoken2]) - { - case CDo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CDo = token_value; - CDo_clean = CDo; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CDK_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CDK = token_value; - CDK_clean = CDK; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CD_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CD_a = token_value; - CD_a_clean = CD_a; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CD_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CD_adot = token_value; - CD_adot_clean = CD_adot; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CD_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CD_q = token_value; - CD_q_clean = CD_q; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CD_ih_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CD_ih = token_value; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CD_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CD_de = token_value; - CD_de_clean = CD_de; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CDfa_flag: - { - CDfa = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (CDfa) and conversion - factors; function returns array of alphas (aArray) and - corresponding CD values (CDArray) and max number of - terms in arrays (nAlpha) */ - uiuc_1DdataFileReader(CDfa, - CDfa_aArray, - CDfa_CDArray, - CDfa_nAlpha); - aeroDragParts -> storeCommands (*command_line); - break; - } - case CDfCL_flag: - { - CDfCL = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (CDfCL) and conversion - factors; function returns array of CLs (CLArray) and - corresponding CD values (CDArray) and max number of - terms in arrays (nCL) */ - uiuc_1DdataFileReader(CDfCL, - CDfCL_CLArray, - CDfCL_CDArray, - CDfCL_nCL); - aeroDragParts -> storeCommands (*command_line); - break; - } - case CDfade_flag: - { - CDfade = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (CDfade) and - conversion factors; function returns array of - elevator deflections (deArray) and corresponding - alpha (aArray) and delta CD (CDArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (nde) */ - uiuc_2DdataFileReader(CDfade, - CDfade_aArray, - CDfade_deArray, - CDfade_CDArray, - CDfade_nAlphaArray, - CDfade_nde); - aeroDragParts -> storeCommands (*command_line); - break; - } - case CDfdf_flag: - { - CDfdf = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (CDfdf) and conversion - factors; function returns array of dfs (dfArray) and - corresponding CD values (CDArray) and max number of - terms in arrays (ndf) */ - uiuc_1DdataFileReader(CDfdf, - CDfdf_dfArray, - CDfdf_CDArray, - CDfdf_ndf); - aeroDragParts -> storeCommands (*command_line); - break; - } - case CDfadf_flag: - { - CDfadf = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (CDfadf) and - conversion factors; function returns array of - flap deflections (dfArray) and corresponding - alpha (aArray) and delta CD (CDArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (ndf) */ - uiuc_2DdataFileReader(CDfadf, - CDfadf_aArray, - CDfadf_dfArray, - CDfadf_CDArray, - CDfadf_nAlphaArray, - CDfadf_ndf); - aeroDragParts -> storeCommands (*command_line); - break; - } - case CXo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CXo = token_value; - CXo_clean = CXo; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CXK_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CXK = token_value; - CXK_clean = CXK; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_a = token_value; - CX_a_clean = CX_a; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_a2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_a2 = token_value; - CX_a2_clean = CX_a2; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_a3_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_a3 = token_value; - CX_a3_clean = CX_a3; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_adot = token_value; - CX_adot_clean = CX_adot; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_q = token_value; - CX_q_clean = CX_q; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_de = token_value; - CX_de_clean = CX_de; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_dr = token_value; - CX_dr_clean = CX_dr; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_df_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_df = token_value; - CX_df_clean = CX_df; - aeroDragParts -> storeCommands (*command_line); - break; - } - case CX_adf_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CX_adf = token_value; - CX_adf_clean = CX_adf; - aeroDragParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_CD( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end CD map case CL_flag: { - switch(CL_map[linetoken2]) - { - case CLo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CLo = token_value; - CLo_clean = CLo; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CL_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CL_a = token_value; - CL_a_clean = CL_a; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CL_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CL_adot = token_value; - CL_adot_clean = CL_adot; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CL_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CL_q = token_value; - CL_q_clean = CL_q; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CL_ih_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CL_ih = token_value; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CL_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CL_de = token_value; - CL_de_clean = CL_de; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CLfa_flag: - { - CLfa = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (CLfa) and conversion - factors; function returns array of alphas (aArray) and - corresponding CL values (CLArray) and max number of - terms in arrays (nAlpha) */ - uiuc_1DdataFileReader(CLfa, - CLfa_aArray, - CLfa_CLArray, - CLfa_nAlpha); - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CLfade_flag: - { - CLfade = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (CLfade) and - conversion factors; function returns array of - elevator deflections (deArray) and corresponding - alpha (aArray) and delta CL (CLArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (nde) */ - uiuc_2DdataFileReader(CLfade, - CLfade_aArray, - CLfade_deArray, - CLfade_CLArray, - CLfade_nAlphaArray, - CLfade_nde); - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CLfdf_flag: - { - CLfdf = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (CLfdf) and conversion - factors; function returns array of dfs (dfArray) and - corresponding CL values (CLArray) and max number of - terms in arrays (ndf) */ - uiuc_1DdataFileReader(CLfdf, - CLfdf_dfArray, - CLfdf_CLArray, - CLfdf_ndf); - aeroLiftParts -> storeCommands (*command_line); - - // additional variables to streamline flap routine in aerodeflections - ndf = CLfdf_ndf; - int temp_counter = 1; - while (temp_counter <= ndf) - { - dfArray[temp_counter] = CLfdf_dfArray[temp_counter]; - TimeArray[temp_counter] = dfTimefdf_TimeArray[temp_counter]; - temp_counter++; - } - break; - } - case CLfadf_flag: - { - CLfadf = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (CLfadf) and - conversion factors; function returns array of - flap deflections (dfArray) and corresponding - alpha (aArray) and delta CL (CLArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (ndf) */ - uiuc_2DdataFileReader(CLfadf, - CLfadf_aArray, - CLfadf_dfArray, - CLfadf_CLArray, - CLfadf_nAlphaArray, - CLfadf_ndf); - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZo = token_value; - CZo_clean = CZo; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_a = token_value; - CZ_a_clean = CZ_a; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_a2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_a2 = token_value; - CZ_a2_clean = CZ_a2; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_a3_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_a3 = token_value; - CZ_a3_clean = CZ_a3; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_adot = token_value; - CZ_adot_clean = CZ_adot; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_q = token_value; - CZ_q_clean = CZ_q; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_de = token_value; - CZ_de_clean = CZ_de; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_deb2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_deb2 = token_value; - CZ_deb2_clean = CZ_deb2; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_df_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_df = token_value; - CZ_df_clean = CZ_df; - aeroLiftParts -> storeCommands (*command_line); - break; - } - case CZ_adf_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CZ_adf = token_value; - CZ_adf_clean = CZ_adf; - aeroLiftParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_CL( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end CL map case Cm_flag: { - switch(Cm_map[linetoken2]) - { - case Cmo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cmo = token_value; - Cmo_clean = Cmo; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_a = token_value; - Cm_a_clean = Cm_a; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_a2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_a2 = token_value; - Cm_a2_clean = Cm_a2; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_adot = token_value; - Cm_adot_clean = Cm_adot; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_q = token_value; - Cm_q_clean = Cm_q; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_ih_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_ih = token_value; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_de = token_value; - Cm_de_clean = Cm_de; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_b2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_b2 = token_value; - Cm_b2_clean = Cm_b2; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_r = token_value; - Cm_r_clean = Cm_r; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cm_df_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cm_df = token_value; - Cm_df_clean = Cm_df; - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cmfa_flag: - { - Cmfa = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (Cmfa) and conversion - factors; function returns array of alphas (aArray) and - corresponding Cm values (CmArray) and max number of - terms in arrays (nAlpha) */ - uiuc_1DdataFileReader(Cmfa, - Cmfa_aArray, - Cmfa_CmArray, - Cmfa_nAlpha); - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cmfade_flag: - { - Cmfade = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (Cmfade) and - conversion factors; function returns array of - elevator deflections (deArray) and corresponding - alpha (aArray) and delta Cm (CmArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (nde) */ - uiuc_2DdataFileReader(Cmfade, - Cmfade_aArray, - Cmfade_deArray, - Cmfade_CmArray, - Cmfade_nAlphaArray, - Cmfade_nde); - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cmfdf_flag: - { - Cmfdf = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - convert_y = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - /* call 1D File Reader with file name (Cmfdf) and conversion - factors; function returns array of dfs (dfArray) and - corresponding Cm values (CmArray) and max number of - terms in arrays (ndf) */ - uiuc_1DdataFileReader(Cmfdf, - Cmfdf_dfArray, - Cmfdf_CmArray, - Cmfdf_ndf); - aeroPitchParts -> storeCommands (*command_line); - break; - } - case Cmfadf_flag: - { - Cmfadf = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (Cmfadf) and - conversion factors; function returns array of - flap deflections (dfArray) and corresponding - alpha (aArray) and delta Cm (CmArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (ndf) */ - uiuc_2DdataFileReader(Cmfadf, - Cmfadf_aArray, - Cmfadf_dfArray, - Cmfadf_CmArray, - Cmfadf_nAlphaArray, - Cmfadf_ndf); - aeroPitchParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_Cm( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end Cm map case CY_flag: { - switch(CY_map[linetoken2]) - { - case CYo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CYo = token_value; - CYo_clean = CYo; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_beta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CY_beta = token_value; - CY_beta_clean = CY_beta; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_p_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CY_p = token_value; - CY_p_clean = CY_p; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CY_r = token_value; - CY_r_clean = CY_r; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - CY_da = token_value; - CY_da_clean = CY_da; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(2, *command_line); - - CY_dr = token_value; - CY_dr_clean = CY_dr; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_dra_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(2, *command_line); - - CY_dra = token_value; - CY_dra_clean = CY_dra; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CY_bdot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(2, *command_line); - - CY_bdot = token_value; - CY_bdot_clean = CY_bdot; - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CYfada_flag: - { - CYfada = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (CYfada) and - conversion factors; function returns array of - aileron deflections (daArray) and corresponding - alpha (aArray) and delta CY (CYArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (nda) */ - uiuc_2DdataFileReader(CYfada, - CYfada_aArray, - CYfada_daArray, - CYfada_CYArray, - CYfada_nAlphaArray, - CYfada_nda); - aeroSideforceParts -> storeCommands (*command_line); - break; - } - case CYfbetadr_flag: - { - CYfbetadr = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (CYfbetadr) and - conversion factors; function returns array of - rudder deflections (drArray) and corresponding - beta (betaArray) and delta CY (CYArray) values and - max number of terms in beta arrays (nBetaArray) - and deflection array (ndr) */ - uiuc_2DdataFileReader(CYfbetadr, - CYfbetadr_betaArray, - CYfbetadr_drArray, - CYfbetadr_CYArray, - CYfbetadr_nBetaArray, - CYfbetadr_ndr); - aeroSideforceParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_CY( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end CY map case Cl_flag: { - switch(Cl_map[linetoken2]) - { - case Clo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Clo = token_value; - Clo_clean = Clo; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Cl_beta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cl_beta = token_value; - Cl_beta_clean = Cl_beta; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Cl_p_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cl_p = token_value; - Cl_p_clean = Cl_p; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Cl_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cl_r = token_value; - Cl_r_clean = Cl_r; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Cl_da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cl_da = token_value; - Cl_da_clean = Cl_da; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Cl_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cl_dr = token_value; - Cl_dr_clean = Cl_dr; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Cl_daa_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cl_daa = token_value; - Cl_daa_clean = Cl_daa; - aeroRollParts -> storeCommands (*command_line); - break; - } - case Clfada_flag: - { - Clfada = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (Clfada) and - conversion factors; function returns array of - aileron deflections (daArray) and corresponding - alpha (aArray) and delta Cl (ClArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (nda) */ - uiuc_2DdataFileReader(Clfada, - Clfada_aArray, - Clfada_daArray, - Clfada_ClArray, - Clfada_nAlphaArray, - Clfada_nda); - aeroRollParts -> storeCommands (*command_line); - break; - } - case Clfbetadr_flag: - { - Clfbetadr = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (Clfbetadr) and - conversion factors; function returns array of - rudder deflections (drArray) and corresponding - beta (betaArray) and delta Cl (ClArray) values and - max number of terms in beta arrays (nBetaArray) - and deflection array (ndr) */ - uiuc_2DdataFileReader(Clfbetadr, - Clfbetadr_betaArray, - Clfbetadr_drArray, - Clfbetadr_ClArray, - Clfbetadr_nBetaArray, - Clfbetadr_ndr); - aeroRollParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_Cl( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end Cl map case Cn_flag: { - switch(Cn_map[linetoken2]) - { - case Cno_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cno = token_value; - Cno_clean = Cno; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_beta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_beta = token_value; - Cn_beta_clean = Cn_beta; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_p_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_p = token_value; - Cn_p_clean = Cn_p; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_r = token_value; - Cn_r_clean = Cn_r; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_da = token_value; - Cn_da_clean = Cn_da; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_dr = token_value; - Cn_dr_clean = Cn_dr; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_q = token_value; - Cn_q_clean = Cn_q; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cn_b3_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - Cn_b3 = token_value; - Cn_b3_clean = Cn_b3; - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cnfada_flag: - { - Cnfada = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (Cnfada) and - conversion factors; function returns array of - aileron deflections (daArray) and corresponding - alpha (aArray) and delta Cn (CnArray) values and - max number of terms in alpha arrays (nAlphaArray) - and deflection array (nda) */ - uiuc_2DdataFileReader(Cnfada, - Cnfada_aArray, - Cnfada_daArray, - Cnfada_CnArray, - Cnfada_nAlphaArray, - Cnfada_nda); - aeroYawParts -> storeCommands (*command_line); - break; - } - case Cnfbetadr_flag: - { - Cnfbetadr = linetoken3; - token4 >> token_value_convert1; - token5 >> token_value_convert2; - token6 >> token_value_convert3; - convert_z = uiuc_convert(token_value_convert1); - convert_x = uiuc_convert(token_value_convert2); - convert_y = uiuc_convert(token_value_convert3); - /* call 2D File Reader with file name (Cnfbetadr) and - conversion factors; function returns array of - rudder deflections (drArray) and corresponding - beta (betaArray) and delta Cn (CnArray) values and - max number of terms in beta arrays (nBetaArray) - and deflection array (ndr) */ - uiuc_2DdataFileReader(Cnfbetadr, - Cnfbetadr_betaArray, - Cnfbetadr_drArray, - Cnfbetadr_CnArray, - Cnfbetadr_nBetaArray, - Cnfbetadr_ndr); - aeroYawParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_Cn( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end Cn map - /* - case gear_flag: { - switch(gear_map[linetoken2]) - { - case kgear: - { - // none yet - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_gear( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); + break; } // end gear map -*/ - case ice_flag: { - switch(ice_map[linetoken2]) - { - case iceTime_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - - else - uiuc_warnings_errors(1, *command_line); - - ice_model = true; - iceTime = token_value; - break; - } - case transientTime_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - transientTime = token_value; - break; - } - case eta_ice_final_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - eta_ice_final = token_value; - break; - } - case beta_probe_wing_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - beta_model = true; - x_probe_wing = token_value; - break; - } - case beta_probe_tail_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - beta_model = true; - x_probe_tail = token_value; - break; - } - case kCDo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCDo = token_value; - break; - } - case kCDK_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCDK = token_value; - break; - } - case kCD_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCD_a = token_value; - break; - } - case kCD_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCD_adot = token_value; - break; - } - case kCD_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCD_q = token_value; - break; - } - case kCD_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCD_de = token_value; - break; - } - case kCXo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCXo = token_value; - break; - } - case kCXK_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCXK = token_value; - break; - } - case kCX_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_a = token_value; - break; - } - case kCX_a2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_a2 = token_value; - break; - } - case kCX_a3_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_a3 = token_value; - break; - } - case kCX_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_adot = token_value; - break; - } - case kCX_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_q = token_value; - break; - } - case kCX_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_de = token_value; - break; - } - case kCX_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_dr = token_value; - break; - } - case kCX_df_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_df = token_value; - break; - } - case kCX_adf_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCX_adf = token_value; - break; - } - case kCLo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCLo = token_value; - break; - } - case kCL_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCL_a = token_value; - break; - } - case kCL_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCL_adot = token_value; - break; - } - case kCL_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCL_q = token_value; - break; - } - case kCL_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCL_de = token_value; - break; - } - case kCZo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZo = token_value; - break; - } - case kCZ_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_a = token_value; - break; - } - case kCZ_a2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_a2 = token_value; - break; - } - case kCZ_a3_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_a3 = token_value; - break; - } - case kCZ_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_adot = token_value; - break; - } - case kCZ_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_q = token_value; - break; - } - case kCZ_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_de = token_value; - break; - } - case kCZ_deb2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_deb2 = token_value; - break; - } - case kCZ_df_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_df = token_value; - break; - } - case kCZ_adf_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCZ_adf = token_value; - break; - } - case kCmo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCmo = token_value; - break; - } - case kCm_a_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_a = token_value; - break; - } - case kCm_a2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_a2 = token_value; - break; - } - case kCm_adot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_adot = token_value; - break; - } - case kCm_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_q = token_value; - break; - } - case kCm_de_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_de = token_value; - break; - } - case kCm_b2_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_b2 = token_value; - break; - } - case kCm_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_r = token_value; - break; - } - case kCm_df_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCm_df = token_value; - break; - } - case kCYo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCYo = token_value; - break; - } - case kCY_beta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_beta = token_value; - break; - } - case kCY_p_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_p = token_value; - break; - } - case kCY_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_r = token_value; - break; - } - case kCY_da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_da = token_value; - break; - } - case kCY_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_dr = token_value; - break; - } - case kCY_dra_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_dra = token_value; - break; - } - case kCY_bdot_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCY_bdot = token_value; - break; - } - case kClo_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kClo = token_value; - break; - } - case kCl_beta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCl_beta = token_value; - break; - } - case kCl_p_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCl_p = token_value; - break; - } - case kCl_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCl_r = token_value; - break; - } - case kCl_da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCl_da = token_value; - break; - } - case kCl_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCl_dr = token_value; - break; - } - case kCl_daa_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCl_daa = token_value; - break; - } - case kCno_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCno = token_value; - break; - } - case kCn_beta_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_beta = token_value; - break; - } - case kCn_p_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_p = token_value; - break; - } - case kCn_r_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_r = token_value; - break; - } - case kCn_da_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_da = token_value; - break; - } - case kCn_dr_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_dr = token_value; - break; - } - case kCn_q_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_q = token_value; - break; - } - case kCn_b3_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - kCn_b3 = token_value; - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_ice( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end ice map - + + + case fog_flag: + { + parse_fog( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); + break; + } // end fog map + case record_flag: { @@ -2850,1245 +432,20 @@ void uiuc_menu( string aircraft_name ) fout_flag=-1; fout.open("uiuc_record.dat"); } - switch(record_map[linetoken2]) - { - /************************* Time ************************/ - case Simtime_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case dt_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /************************* Mass ************************/ - case Weight_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Mass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case I_xx_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case I_yy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case I_zz_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case I_xz_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /*********************** Geometry **********************/ - case Dx_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dy_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dz_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dx_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dy_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dz_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /********************** Positions **********************/ - case Lat_geocentric_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Lon_geocentric_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Radius_to_vehicle_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Latitude_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Longitude_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Altitude_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Phi_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Theta_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Psi_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /******************** Accelerations ********************/ - case V_dot_north_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_dot_east_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_dot_down_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case U_dot_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_dot_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case W_dot_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case A_X_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case A_Y_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case A_Z_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case A_X_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case A_Y_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case A_Z_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case N_X_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case N_Y_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case N_Z_pilot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case N_X_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case N_Y_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case N_Z_cg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case P_dot_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Q_dot_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case R_dot_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /********************** Velocities *********************/ - case V_north_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_east_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_down_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_north_rel_ground_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_east_rel_ground_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_down_rel_ground_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_north_airmass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_east_airmass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_down_airmass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_north_rel_airmass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_east_rel_airmass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_down_rel_airmass_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case U_gust_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_gust_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case W_gust_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case U_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case W_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_rel_wind_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_true_kts_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_rel_ground_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_inertial_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_ground_speed_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_equiv_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_equiv_kts_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_calibrated_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_calibrated_kts_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case P_local_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Q_local_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case R_local_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case P_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Q_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case R_body_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case P_total_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Q_total_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case R_total_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Phi_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Theta_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Psi_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Latitude_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Longitude_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Radius_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /************************ Angles ***********************/ - case Alpha_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Alpha_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Alpha_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Alpha_dot_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Beta_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Beta_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Beta_dot_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Beta_dot_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_vert_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_vert_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_horiz_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_horiz_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /**************** Atmospheric Properties ***************/ - case Density_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_sound_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Mach_number_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Static_pressure_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Total_pressure_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Impact_pressure_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dynamic_pressure_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Static_temperature_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Total_temperature_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /******************** Earth Properties *****************/ - case Gravity_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Sea_level_radius_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Earth_position_angle_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Runway_altitude_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Runway_latitude_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Runway_longitude_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Runway_heading_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Radius_to_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case D_pilot_north_of_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case D_pilot_east_of_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case D_pilot_above_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case X_pilot_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Y_pilot_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case H_pilot_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case D_cg_north_of_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case D_cg_east_of_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case D_cg_above_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case X_cg_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Y_cg_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case H_cg_rwy_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /********************* Engine Inputs *******************/ - case Throttle_pct_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Throttle_3_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /******************** Control Inputs *******************/ - case Long_control_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Long_trim_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Long_trim_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case elevator_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case elevator_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Lat_control_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case aileron_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case aileron_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Rudder_pedal_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case rudder_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case rudder_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Flap_handle_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case flap_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case flap_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /****************** Aero Coefficients ******************/ - case CD_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CDfaI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CDfadeI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CDfdfI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CDfadfI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CX_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CL_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLfaI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLfadeI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLfdfI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLfadfI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CZ_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Cm_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CmfaI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CmfadeI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CmfdfI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CmfadfI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CY_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CYfadaI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CYfbetadrI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Cl_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case ClfadaI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case ClfbetadrI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Cn_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CnfadaI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CnfbetadrI_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /******************** Ice Detection ********************/ - case CLclean_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLiced_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLclean_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case CLiced_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Lift_clean_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Lift_iced_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Lift_clean_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Lift_iced_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_clean_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_iced_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_clean_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Gamma_iced_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case w_clean_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case w_iced_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case w_clean_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case w_iced_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_total_clean_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_total_iced_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_total_clean_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case V_total_iced_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_clean_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_clean_wing_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_iced_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_iced_wing_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_clean_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_clean_tail_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_iced_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case beta_flow_iced_tail_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dbeta_flow_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dbeta_flow_wing_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dbeta_flow_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case Dbeta_flow_tail_deg_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case pct_beta_flow_wing_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case pct_beta_flow_tail_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /************************ Forces ***********************/ - case F_X_wind_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Y_wind_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Z_wind_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_X_aero_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Y_aero_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Z_aero_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_X_engine_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Y_engine_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Z_engine_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_X_gear_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Y_gear_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Z_gear_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_X_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Y_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_Z_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_north_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_east_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case F_down_record: - { - recordParts -> storeCommands (*command_line); - break; - } - - /*********************** Moments ***********************/ - case M_l_aero_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_m_aero_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_n_aero_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_l_engine_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_m_engine_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_n_engine_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_l_gear_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_m_gear_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_n_gear_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_l_rp_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_m_rp_record: - { - recordParts -> storeCommands (*command_line); - break; - } - case M_n_rp_record: - { - recordParts -> storeCommands (*command_line); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_record( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end record map case misc_flag: { - switch(misc_map[linetoken2]) - { - case simpleHingeMomentCoef_flag: - { - if (check_float(linetoken3)) - token3 >> token_value; - else - uiuc_warnings_errors(1, *command_line); - - simpleHingeMomentCoef = token_value; - break; - } - case dfTimefdf_flag: - { - dfTimefdf = linetoken3; - /* call 1D File Reader with file name (dfTimefdf); - function returns array of dfs (dfArray) and - corresponding time values (TimeArray) and max - number of terms in arrays (ndf) */ - uiuc_1DdataFileReader(dfTimefdf, - dfTimefdf_dfArray, - dfTimefdf_TimeArray, - dfTimefdf_ndf); - break; - } - default: - { - uiuc_warnings_errors(2, *command_line); - break; - } - }; + parse_misc( linetoken2, linetoken3, linetoken4, + linetoken5, linetoken6, linetoken7, + linetoken8, linetoken9, linetoken10, + aircraft_directory, command_line ); break; } // end misc map @@ -4097,7 +454,12 @@ void uiuc_menu( string aircraft_name ) { if (linetoken1=="*") return; - uiuc_warnings_errors(2, *command_line); + if (ignore_unknown_keywords) { + // do nothing + } else { + // print error message + uiuc_warnings_errors(2, *command_line); + } break; } };