]> git.mxchange.org Git - flightgear.git/blob - src/FDM/UIUCModel/uiuc_recorder.cpp
Fixes for MSVC++ issues.
[flightgear.git] / src / FDM / UIUCModel / uiuc_recorder.cpp
1 /**********************************************************************
2  
3  FILENAME:     uiuc_recorder.cpp
4
5 ----------------------------------------------------------------------
6
7  DESCRIPTION:  outputs variables specified in input file to recorder 
8                file
9
10 ----------------------------------------------------------------------
11
12  STATUS:       alpha version
13
14 ----------------------------------------------------------------------
15
16  REFERENCES:   Liberty, Jesse.  "Sam's Teach Yourself C++ in 21 Days,"
17                3rd ed., 1999.
18
19 ----------------------------------------------------------------------
20
21  HISTORY:      01/31/2000   initial release
22                03/02/2000   (JS) added record options for 1D and 2D 
23                             interpolated variables
24                04/01/2000   (JS) added throttle, longitudinal, lateral, 
25                             and rudder inputs to record map
26                04/24/2000   (JS) added rest of variables in 
27                             ls_generic.h
28
29 ----------------------------------------------------------------------
30
31  AUTHOR(S):    Jeff Scott         <jscott@mail.com>
32
33 ----------------------------------------------------------------------
34
35  VARIABLES:
36
37 ----------------------------------------------------------------------
38
39  INPUTS:       n/a
40
41 ----------------------------------------------------------------------
42
43  OUTPUTS:      -variables recorded in uiuc_recorder.dat
44
45 ----------------------------------------------------------------------
46
47  CALLED BY:   uiuc_wrapper.cpp 
48
49 ----------------------------------------------------------------------
50
51  CALLS TO:     none
52
53 ----------------------------------------------------------------------
54
55  COPYRIGHT:    (C) 2000 by Michael Selig
56
57  This program is free software; you can redistribute it and/or
58  modify it under the terms of the GNU General Public License
59  as published by the Free Software Foundation.
60
61  This program is distributed in the hope that it will be useful,
62  but WITHOUT ANY WARRANTY; without even the implied warranty of
63  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
64  GNU General Public License for more details.
65
66  You should have received a copy of the GNU General Public License
67  along with this program; if not, write to the Free Software
68  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
69  USA or view http://www.gnu.org/copyleft/gpl.html.
70
71 **********************************************************************/
72
73 #include "uiuc_recorder.h"
74
75 void uiuc_recorder( double dt )
76 {
77   stack command_list;
78   string linetoken;
79   static int init = 0;
80   static int recordStep = 0;
81   string record_variables = "# ";
82
83   int modulus = recordStep % recordRate;
84
85   if ((recordStep % recordRate) == 0)
86     {
87       command_list = recordParts->getCommands();
88       fout << endl;
89
90       LIST command_line;
91       for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
92         record_variables += recordParts->getToken(*command_line,2) + "  ";
93
94       fout << record_variables << endl; 
95       for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
96         {
97           linetoken = recordParts->getToken(*command_line, 2); 
98
99           switch(record_map[linetoken])
100             {
101               /************************* Time ************************/
102             case Simtime_record:
103               {
104                 fout << Simtime << " ";
105                 break;
106               }
107             case dt_record:
108               {
109                 fout << dt << " ";
110                 break;
111               }
112
113               /************************* Mass ************************/
114             case Weight_record:
115               {
116                 fout << Weight << " ";
117                 break;
118               }
119             case Mass_record:
120               {
121                 fout << Mass << " ";
122                 break;
123               }
124             case I_xx_record:
125               {
126                 fout << I_xx << " ";
127                 break;
128               }
129             case I_yy_record:
130               {
131                 fout << I_yy << " ";
132                 break;
133               }
134             case I_zz_record:
135               {
136                 fout << I_zz << " ";
137                 break;
138               }
139             case I_xz_record:
140               {
141                 fout << I_xz << " ";
142                 break;
143               }
144
145               /*********************** Geometry **********************/
146             case Dx_pilot_record:
147               {
148                 fout << Dx_pilot << " ";
149                 break;
150               }
151             case Dy_pilot_record:
152               {
153                 fout << Dy_pilot << " ";
154                 break;
155               }
156             case Dz_pilot_record:
157               {
158                 fout << Dz_pilot << " ";
159                 break;
160               }
161             case Dx_cg_record:
162               {
163                 fout << Dx_cg << " ";
164                 break;
165               }
166             case Dy_cg_record:
167               {
168                 fout << Dy_cg << " ";
169                 break;
170               }
171             case Dz_cg_record:
172               {
173                 fout << Dz_cg << " ";
174                 break;
175               }
176
177               /********************** Positions **********************/
178             case Lat_geocentric_record:
179               {
180                 fout << Lat_geocentric << " ";
181                 break;
182               }
183             case Lon_geocentric_record:
184               {
185                 fout << Lon_geocentric << " ";
186                 break;
187               }
188             case Radius_to_vehicle_record:
189               {
190                 fout << Radius_to_vehicle << " ";
191                 break;
192               }
193             case Latitude_record:
194               {
195                 fout << Latitude << " ";
196                 break;
197               }
198             case Longitude_record:
199               {
200                 fout << Longitude << " ";
201                 break;
202               }
203             case Altitude_record:
204               {
205                 fout << Altitude << " ";
206                 break;
207               }
208             case Phi_record:
209               {
210                 fout << Phi << " ";
211                 break;
212               }
213             case Theta_record:
214               {
215                 fout << Theta << " ";
216                 break;
217               }
218             case Psi_record:
219               {
220                 fout << Psi << " ";
221                 break;
222               }
223
224               /******************** Accelerations ********************/
225             case V_dot_north_record:
226               {
227                 fout << V_dot_north << " ";
228                 break;
229               }
230             case V_dot_east_record:
231               {
232                 fout << V_dot_east << " ";
233                 break;
234               }
235             case V_dot_down_record:
236               {
237                 fout << V_dot_down << " ";
238                 break;
239               }
240             case U_dot_body_record:
241               {
242                 fout << U_dot_body << " ";
243                 break;
244               }
245             case V_dot_body_record:
246               {
247                 fout << V_dot_body << " ";
248                 break;
249               }
250             case W_dot_body_record:
251               {
252                 fout << W_dot_body << " ";
253                 break;
254               }
255             case A_X_pilot_record:
256               {
257                 fout << A_X_pilot << " ";
258                 break;
259               }
260             case A_Y_pilot_record:
261               {
262                 fout << A_Y_pilot << " ";
263                 break;
264               }
265             case A_Z_pilot_record:
266               {
267                 fout << A_Z_pilot << " ";
268                 break;
269               }
270             case A_X_cg_record:
271               {
272                 fout << A_X_cg << " ";
273                 break;
274               }
275             case A_Y_cg_record:
276               {
277                 fout << A_Y_cg << " ";
278                 break;
279               }
280             case A_Z_cg_record:
281               {
282                 fout << A_Z_cg << " ";
283                 break;
284               }
285             case N_X_pilot_record:
286               {
287                 fout << N_X_pilot << " ";
288                 break;
289               }
290             case N_Y_pilot_record:
291               {
292                 fout << N_Y_pilot << " ";
293                 break;
294               }
295             case N_Z_pilot_record:
296               {
297                 fout << N_Z_pilot << " ";
298                 break;
299               }
300             case N_X_cg_record:
301               {
302                 fout << N_X_cg << " ";
303                 break;
304               }
305             case N_Y_cg_record:
306               {
307                 fout << N_Y_cg << " ";
308                 break;
309               }
310             case N_Z_cg_record:
311               {
312                 fout << N_Z_cg << " ";
313                 break;
314               }
315             case P_dot_body_record:
316               {
317                 fout << P_dot_body << " ";
318                 break;
319               }
320             case Q_dot_body_record:
321               {
322                 fout << Q_dot_body << " ";
323                 break;
324               }
325             case R_dot_body_record:
326               {
327                 fout << R_dot_body << " ";
328                 break;
329               }
330
331               /********************** Velocities *********************/
332             case V_north_record:
333               {
334                 fout << V_north << " ";
335                 break;
336               }
337             case V_east_record:
338               {
339                 fout << V_east << " ";
340                 break;
341               }
342             case V_down_record:
343               {
344                 fout << V_down << " ";
345                 break;
346               }
347             case V_north_rel_ground_record:
348               {
349                 fout << V_north_rel_ground << " ";
350                 break;
351               }
352             case V_east_rel_ground_record:
353               {
354                 fout << V_east_rel_ground << " ";
355                 break;
356               }
357             case V_down_rel_ground_record:
358               {
359                 fout << V_down_rel_ground << " ";
360                 break;
361               }
362             case V_north_airmass_record:
363               {
364                 fout << V_north_airmass << " ";
365                 break;
366               }
367             case V_east_airmass_record:
368               {
369                 fout << V_east_airmass << " ";
370                 break;
371               }
372             case V_down_airmass_record:
373               {
374                 fout << V_down_airmass << " ";
375                 break;
376               }
377             case V_north_rel_airmass_record:
378               {
379                 fout << V_north_rel_airmass << " ";
380                 break;
381               }
382             case V_east_rel_airmass_record:
383               {
384                 fout << V_east_rel_airmass << " ";
385                 break;
386               }
387             case V_down_rel_airmass_record:
388               {
389                 fout << V_down_rel_airmass << " ";
390                 break;
391               }
392             case U_gust_record:
393               {
394                 fout << U_gust << " ";
395                 break;
396               }
397             case V_gust_record:
398               {
399                 fout << V_gust << " ";
400                 break;
401               }
402             case W_gust_record:
403               {
404                 fout << W_gust << " ";
405                 break;
406               }
407             case U_body_record:
408               {
409                 fout << U_body << " ";
410                 break;
411               }
412             case V_body_record:
413               {
414                 fout << V_body << " ";
415                 break;
416               }
417             case W_body_record:
418               {
419                 fout << W_body << " ";
420                 break;
421               }
422             case V_rel_wind_record:
423               {
424                 fout << V_rel_wind << " ";
425                 break;
426               }
427             case V_true_kts_record:
428               {
429                 fout << V_true_kts << " ";
430                 break;
431               }
432             case V_rel_ground_record:
433               {
434                 fout << V_rel_ground << " ";
435                 break;
436               }
437             case V_inertial_record:
438               {
439                 fout << V_inertial << " ";
440                 break;
441               }
442             case V_ground_speed_record:
443               {
444                 fout << V_ground_speed << " ";
445                 break;
446               }
447             case V_equiv_record:
448               {
449                 fout << V_equiv << " ";
450                 break;
451               }
452             case V_equiv_kts_record:
453               {
454                 fout << V_equiv_kts << " ";
455                 break;
456               }
457             case V_calibrated_record:
458               {
459                 fout << V_calibrated << " ";
460                 break;
461               }
462             case V_calibrated_kts_record:
463               {
464                 fout << V_calibrated_kts << " ";
465                 break;
466               }
467             case P_local_record:
468               {
469                 fout << P_local << " ";
470                 break;
471               }
472             case Q_local_record:
473               {
474                 fout << Q_local << " ";
475                 break;
476               }
477             case R_local_record:
478               {
479                 fout << R_local << " ";
480                 break;
481               }
482             case P_body_record:
483               {
484                 fout << P_body << " ";
485                 break;
486               }
487             case Q_body_record:
488               {
489                 fout << Q_body << " ";
490                 break;
491               }
492             case R_body_record:
493               {
494                 fout << R_body << " ";
495                 break;
496               }
497             case P_total_record:
498               {
499                 fout << P_total << " ";
500                 break;
501               }
502             case Q_total_record:
503               {
504                 fout << Q_total << " ";
505                 break;
506               }
507             case R_total_record:
508               {
509                 fout << R_total << " ";
510                 break;
511               }
512             case Phi_dot_record:
513               {
514                 fout << Phi_dot << " ";
515                 break;
516               }
517             case Theta_dot_record:
518               {
519                 fout << Theta_dot << " ";
520                 break;
521               }
522             case Psi_dot_record:
523               {
524                 fout << Psi_dot << " ";
525                 break;
526               }
527             case Latitude_dot_record:
528               {
529                 fout << Latitude_dot << " ";
530                 break;
531               }
532             case Longitude_dot_record:
533               {
534                 fout << Longitude_dot << " ";
535                 break;
536               }
537             case Radius_dot_record:
538               {
539                 fout << Radius_dot << " ";
540                 break;
541               }
542
543               /************************ Angles ***********************/
544             case Alpha_record:
545               {
546                 fout << Alpha << " ";
547                 break;
548               }
549             case Alpha_deg_record:
550               {
551                 fout << Alpha * RAD_TO_DEG << " ";
552                 break;
553               }
554             case Alpha_dot_record:
555               {
556                 fout << Alpha_dot << " ";
557                 break;
558               }
559             case Alpha_dot_deg_record:
560               {
561                 fout << Alpha_dot * RAD_TO_DEG << " ";
562                 break;
563               }
564             case Beta_record:
565               {
566                 fout << Beta << " ";
567                 break;
568               }
569             case Beta_deg_record:
570               {
571                 fout << Beta * RAD_TO_DEG << " ";
572                 break;
573               }
574             case Beta_dot_record:
575               {
576                 fout << Beta_dot << " ";
577                 break;
578               }
579             case Beta_dot_deg_record:
580               {
581                 fout << Beta_dot * RAD_TO_DEG << " ";
582                 break;
583               }
584             case Gamma_vert_record:
585               {
586                 fout << Gamma_vert_rad << " ";
587                 break;
588               }
589             case Gamma_vert_deg_record:
590               {
591                 fout << Gamma_vert_rad * RAD_TO_DEG << " ";
592                 break;
593               }
594             case Gamma_horiz_record:
595               {
596                 fout << Gamma_horiz_rad << " ";
597                 break;
598               }
599             case Gamma_horiz_deg_record:
600               {
601                 fout << Gamma_horiz_rad * RAD_TO_DEG << " ";
602                 break;
603               }
604
605               /**************** Atmospheric Properties ***************/
606             case Density_record:
607               {
608                 fout << Density << " ";
609                 break;
610               }
611             case V_sound_record:
612               {
613                 fout << V_sound << " ";
614                 break;
615               }
616             case Mach_number_record:
617               {
618                 fout << Mach_number << " ";
619                 break;
620               }
621             case Static_pressure_record:
622               {
623                 fout << Static_pressure << " ";
624                 break;
625               }
626             case Total_pressure_record:
627               {
628                 fout << Total_pressure << " ";
629                 break;
630               }
631             case Impact_pressure_record:
632               {
633                 fout << Impact_pressure << " ";
634                 break;
635               }
636             case Dynamic_pressure_record:
637               {
638                 fout << Dynamic_pressure << " ";
639                 break;
640               }
641             case Static_temperature_record:
642               {
643                 fout << Static_temperature << " ";
644                 break;
645               }
646             case Total_temperature_record:
647               {
648                 fout << Total_temperature << " ";
649                 break;
650               }
651
652               /******************** Earth Properties *****************/
653             case Gravity_record:
654               {
655                 fout << Gravity << " ";
656                 break;
657               }
658             case Sea_level_radius_record:
659               {
660                 fout << Sea_level_radius << " ";
661                 break;
662               }
663             case Earth_position_angle_record:
664               {
665                 fout << Earth_position_angle << " ";
666                 break;
667               }
668             case Runway_altitude_record:
669               {
670                 fout << Runway_altitude << " ";
671                 break;
672               }
673             case Runway_latitude_record:
674               {
675                 fout << Runway_latitude << " ";
676                 break;
677               }
678             case Runway_longitude_record:
679               {
680                 fout << Runway_longitude << " ";
681                 break;
682               }
683             case Runway_heading_record:
684               {
685                 fout << Runway_heading << " ";
686                 break;
687               }
688             case Radius_to_rwy_record:
689               {
690                 fout << Radius_to_rwy << " ";
691                 break;
692               }
693             case D_pilot_north_of_rwy_record:
694               {
695                 fout << D_pilot_north_of_rwy << " ";
696                 break;
697               }
698             case D_pilot_east_of_rwy_record:
699               {
700                 fout << D_pilot_east_of_rwy << " ";
701                 break;
702               }
703             case D_pilot_above_rwy_record:
704               {
705                 fout << D_pilot_above_rwy << " ";
706                 break;
707               }
708             case X_pilot_rwy_record:
709               {
710                 fout << X_pilot_rwy << " ";
711                 break;
712               }
713             case Y_pilot_rwy_record:
714               {
715                 fout << Y_pilot_rwy << " ";
716                 break;
717               }
718             case H_pilot_rwy_record:
719               {
720                 fout << H_pilot_rwy << " ";
721                 break;
722               }
723             case D_cg_north_of_rwy_record:
724               {
725                 fout << D_cg_north_of_rwy << " ";
726                 break;
727               }
728             case D_cg_east_of_rwy_record:
729               {
730                 fout << D_cg_east_of_rwy << " ";
731                 break;
732               }
733             case D_cg_above_rwy_record:
734               {
735                 fout << D_cg_above_rwy << " ";
736                 break;
737               }
738             case X_cg_rwy_record:
739               {
740                 fout << X_cg_rwy << " ";
741                 break;
742               }
743             case Y_cg_rwy_record:
744               {
745                 fout << Y_cg_rwy << " ";
746                 break;
747               }
748             case H_cg_rwy_record:
749               {
750                 fout << H_cg_rwy << " ";
751                 break;
752               }
753
754               /********************* Engine Inputs *******************/
755             case Throttle_3_record:
756               {
757                 fout << Throttle[3] << " ";
758                 break;
759               }
760             case Throttle_pct_record:
761               {
762                 fout << Throttle_pct << " ";
763                 break;
764               }
765
766               /******************** Control Inputs *******************/
767             case Long_control_record:
768               {
769                 fout << Long_control << " ";
770                 break;
771               }
772             case Long_trim_record:
773               {
774                 fout << Long_trim << " ";
775                 break;
776               }
777             case Long_trim_deg_record:
778               {
779                 fout << Long_trim * RAD_TO_DEG << " ";
780                 break;
781               }
782             case elevator_record:
783               {
784                 fout << elevator << " ";
785                 break;
786               }
787             case elevator_deg_record:
788               {
789                 fout << elevator * RAD_TO_DEG << " ";
790                 break;
791               }
792             case Lat_control_record:
793               {
794                 fout << Long_control << " ";
795                 break;
796               }
797             case aileron_record:
798               {
799                 fout << aileron << " ";
800                 break;
801               }
802             case aileron_deg_record:
803               {
804                 fout << aileron * RAD_TO_DEG << " ";
805                 break;
806               }
807             case Rudder_pedal_record:
808               {
809                 fout << Long_control << " ";
810                 break;
811               }
812             case rudder_record:
813               {
814                 fout << rudder << " ";
815                 break;
816               }
817             case rudder_deg_record:
818               {
819                 fout << rudder * RAD_TO_DEG << " ";
820                 break;
821               }
822             case Flap_handle_record:
823               {
824                 fout << flap << " ";
825                 break;
826               }
827             case flap_record:
828               {
829                 fout << flap << " ";
830                 break;
831               }
832             case flap_deg_record:
833               {
834                 fout << flap * RAD_TO_DEG << " ";
835                 break;
836               }
837
838               /****************** Aero Coefficients ******************/
839             case CD_record:
840               {
841                 fout << CD << " ";
842                 break;
843               }
844             case CDfaI_record:
845               {
846                 fout << CDfaI << " ";
847                 break;
848               }
849             case CDfCLI_record:
850               {
851                 fout << CDfCLI << " ";
852                 break;
853               }
854             case CDfadeI_record:
855               {
856                 fout << CDfadeI << " ";
857                 break;
858               }
859             case CDfdfI_record:
860               {
861                 fout << CDfdfI << " ";
862                 break;
863               }
864             case CDfadfI_record:
865               {
866                 fout << CDfadfI << " ";
867                 break;
868               }
869             case CX_record:
870               {
871                 fout << CX << " ";
872                 break;
873               }
874             case CL_record:
875               {
876                 fout << CL << " ";
877                 break;
878               }
879             case CLfaI_record:
880               {
881                 fout << CLfaI << " ";
882                 break;
883               }
884             case CLfadeI_record:
885               {
886                 fout << CLfadeI << " ";
887                 break;
888               }
889             case CLfdfI_record:
890               {
891                 fout << CLfdfI << " ";
892                 break;
893               }
894             case CLfadfI_record:
895               {
896                 fout << CLfadfI << " ";
897                 break;
898               }
899             case CZ_record:
900               {
901                 fout << CZ << " ";
902                 break;
903               }
904             case Cm_record:
905               {
906                 fout << Cm << " ";
907                 break;
908               }
909             case CmfaI_record:
910               {
911                 fout << CmfaI << " ";
912                 break;
913               }
914             case CmfadeI_record:
915               {
916                 fout << CmfadeI << " ";
917                 break;
918               }
919             case CmfdfI_record:
920               {
921                 fout << CmfdfI << " ";
922                 break;
923               }
924             case CmfadfI_record:
925               {
926                 fout << CmfadfI << " ";
927                 break;
928               }
929             case CY_record:
930               {
931                 fout << CY  << " ";
932                 break;
933               }
934             case CYfadaI_record:
935               {
936                 fout << CYfadaI << " ";
937                 break;
938               }
939             case CYfbetadrI_record:
940               {
941                 fout << CYfbetadrI << " ";
942                 break;
943               }
944             case Cl_record:
945               {
946                 fout << Cl << " ";
947                 break;
948               }
949             case ClfadaI_record:
950               {
951                 fout << ClfadaI << " ";
952                 break;
953               }
954             case ClfbetadrI_record:
955               {
956                 fout << ClfbetadrI << " ";
957                 break;
958               }
959             case Cn_record:
960               {
961                 fout << Cn << " ";
962                 break;
963               }
964             case CnfadaI_record:
965               {
966                 fout << CnfadaI << " ";
967                 break;
968               }
969             case CnfbetadrI_record:
970               {
971                 fout << CnfbetadrI << " ";
972                 break;
973               }
974
975               /******************** Ice Detection ********************/
976             case CLclean_wing_record:
977               {
978                 fout << CLclean_wing << " ";
979                 break;
980               }
981             case CLiced_wing_record:
982               {
983                 fout << CLiced_wing << " ";
984                 break;
985               }
986             case CLclean_tail_record:
987               {
988                 fout << CLclean_tail << " ";
989                 break;
990               }
991             case CLiced_tail_record:
992               {
993                 fout << CLiced_tail << " ";
994                 break;
995               }
996             case Lift_clean_wing_record:
997               {
998                 fout << Lift_clean_wing << " ";
999                 break;
1000               }
1001             case Lift_iced_wing_record:
1002               {
1003                 fout << Lift_iced_wing << " ";
1004                 break;
1005               }
1006             case Lift_clean_tail_record:
1007               {
1008                 fout << Lift_clean_tail << " ";
1009                 break;
1010               }
1011             case Lift_iced_tail_record:
1012               {
1013                 fout << Lift_iced_tail << " ";
1014                 break;
1015               }
1016             case Gamma_clean_wing_record:
1017               {
1018                 fout << Gamma_clean_wing << " ";
1019                 break;
1020               }
1021             case Gamma_iced_wing_record:
1022               {
1023                 fout << Gamma_iced_wing << " ";
1024                 break;
1025               }
1026             case Gamma_clean_tail_record:
1027               {
1028                 fout << Gamma_clean_tail << " ";
1029                 break;
1030               }
1031             case Gamma_iced_tail_record:
1032               {
1033                 fout << Gamma_iced_tail << " ";
1034                 break;
1035               }
1036             case w_clean_wing_record:
1037               {
1038                 fout << w_clean_wing << " ";
1039                 break;
1040               }
1041             case w_iced_wing_record:
1042               {
1043                 fout << w_iced_wing << " ";
1044                 break;
1045               }
1046             case w_clean_tail_record:
1047               {
1048                 fout << w_clean_tail << " ";
1049                 break;
1050               }
1051             case w_iced_tail_record:
1052               {
1053                 fout << w_iced_tail << " ";
1054                 break;
1055               }
1056             case V_total_clean_wing_record:
1057               {
1058                 fout << V_total_clean_wing << " ";
1059                 break;
1060               }
1061             case V_total_iced_wing_record:
1062               {
1063                 fout << V_total_iced_wing << " ";
1064                 break;
1065               }
1066             case V_total_clean_tail_record:
1067               {
1068                 fout << V_total_clean_tail << " ";
1069                 break;
1070               }
1071             case V_total_iced_tail_record:
1072               {
1073                 fout << V_total_iced_tail << " ";
1074                 break;
1075               }
1076             case beta_flow_clean_wing_record:
1077               {
1078                 fout << beta_flow_clean_wing << " ";
1079                 break;
1080               }
1081             case beta_flow_clean_wing_deg_record:
1082               {
1083                 fout << beta_flow_clean_wing * RAD_TO_DEG << " ";
1084                 break;
1085               }
1086             case beta_flow_iced_wing_record:
1087               {
1088                 fout << beta_flow_iced_wing << " ";
1089                 break;
1090               }
1091             case beta_flow_iced_wing_deg_record:
1092               {
1093                 fout << beta_flow_iced_wing * RAD_TO_DEG << " ";
1094                 break;
1095               }
1096             case beta_flow_clean_tail_record:
1097               {
1098                 fout << beta_flow_clean_tail << " ";
1099                 break;
1100               }
1101             case beta_flow_clean_tail_deg_record:
1102               {
1103                 fout << beta_flow_clean_tail * RAD_TO_DEG << " ";
1104                 break;
1105               }
1106             case beta_flow_iced_tail_record:
1107               {
1108                 fout << beta_flow_iced_tail << " ";
1109                 break;
1110               }
1111             case beta_flow_iced_tail_deg_record:
1112               {
1113                 fout << beta_flow_iced_tail * RAD_TO_DEG << " ";
1114                 break;
1115               }
1116             case Dbeta_flow_wing_record:
1117               {
1118                 fout << Dbeta_flow_wing << " ";
1119                 break;
1120               }
1121             case Dbeta_flow_wing_deg_record:
1122               {
1123                 fout << Dbeta_flow_wing * RAD_TO_DEG << " ";
1124                 break;
1125               }
1126             case Dbeta_flow_tail_record:
1127               {
1128                 fout << Dbeta_flow_tail << " ";
1129                 break;
1130               }
1131             case Dbeta_flow_tail_deg_record:
1132               {
1133                 fout << Dbeta_flow_tail * RAD_TO_DEG << " ";
1134                 break;
1135               }
1136             case pct_beta_flow_wing_record:
1137               {
1138                 fout << pct_beta_flow_wing << " ";
1139                 break;
1140               }
1141             case pct_beta_flow_tail_record:
1142               {
1143                 fout << pct_beta_flow_tail << " ";
1144                 break;
1145               }
1146
1147               /************************ Forces ***********************/
1148             case F_X_wind_record:
1149               {
1150                 fout << F_X_wind << " ";
1151                 break;
1152               }
1153             case F_Y_wind_record:
1154               {
1155                 fout << F_Y_wind << " ";
1156                 break;
1157               }
1158             case F_Z_wind_record:
1159               {
1160                 fout << F_Z_wind << " ";
1161                 break;
1162               }
1163             case F_X_aero_record:
1164               {
1165                 fout << F_X_aero << " ";
1166                 break;
1167               }
1168             case F_Y_aero_record:
1169               {
1170                 fout << F_Y_aero << " ";
1171                 break;
1172               }
1173             case F_Z_aero_record:
1174               {
1175                 fout << F_Z_aero << " ";
1176                 break;
1177               }
1178             case F_X_engine_record:
1179               {
1180                 fout << F_X_engine << " ";
1181                 break;
1182               }
1183             case F_Y_engine_record:
1184               {
1185                 fout << F_Y_engine << " ";
1186                 break;
1187               }
1188             case F_Z_engine_record:
1189               {
1190                 fout << F_Z_engine << " ";
1191                 break;
1192               }
1193             case F_X_gear_record:
1194               {
1195                 fout << F_X_gear << " ";
1196                 break;
1197               }
1198             case F_Y_gear_record:
1199               {
1200                 fout << F_Y_gear << " ";
1201                 break;
1202               }
1203             case F_Z_gear_record:
1204               {
1205                 fout << F_Z_gear << " ";
1206                 break;
1207               }
1208             case F_X_record:
1209               {
1210                 fout << F_X << " ";
1211                 break;
1212               }
1213             case F_Y_record:
1214               {
1215                 fout << F_Y << " ";
1216                 break;
1217               }
1218             case F_Z_record:
1219               {
1220                 fout << F_Z << " ";
1221                 break;
1222               }
1223             case F_north_record:
1224               {
1225                 fout << F_north << " ";
1226                 break;
1227               }
1228             case F_east_record:
1229               {
1230                 fout << F_east << " ";
1231                 break;
1232               }
1233             case F_down_record:
1234               {
1235                 fout << F_down << " ";
1236                 break;
1237               }
1238
1239               /*********************** Moments ***********************/
1240             case M_l_aero_record:
1241               {
1242                 fout << M_l_aero << " ";
1243                 break;
1244               }
1245             case M_m_aero_record:
1246               {
1247                 fout << M_m_aero << " ";
1248                 break;
1249               }
1250             case M_n_aero_record:
1251               {
1252                 fout << M_n_aero << " ";
1253                 break;
1254               }
1255             case M_l_engine_record:
1256               {
1257                 fout << M_l_engine << " ";
1258                 break;
1259               }
1260             case M_m_engine_record:
1261               {
1262                 fout << M_m_engine << " ";
1263                 break;
1264               }
1265             case M_n_engine_record:
1266               {
1267                 fout << M_n_engine << " ";
1268                 break;
1269               }
1270             case M_l_gear_record:
1271               {
1272                 fout << M_l_gear << " ";
1273                 break;
1274               }
1275             case M_m_gear_record:
1276               {
1277                 fout << M_m_gear << " ";
1278                 break;
1279               }
1280             case M_n_gear_record:
1281               {
1282                 fout << M_n_gear << " ";
1283                 break;
1284               }
1285             case M_l_rp_record:
1286               {
1287                 fout << M_l_rp << " ";
1288                 break;
1289               }
1290             case M_m_rp_record:
1291               {
1292                 fout << M_m_rp << " ";
1293                 break;
1294               }
1295             case M_n_rp_record:
1296               {
1297                 fout << M_n_rp << " ";
1298                 break;
1299               }
1300             };
1301         } // end record map
1302     }
1303   recordStep++;
1304 }
1305
1306 // end uiuc_recorder.cpp