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