]> git.mxchange.org Git - flightgear.git/blob - src/FDM/UIUCModel/uiuc_recorder.cpp
MSVC5 Compatibility tweaks.
[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
25 ----------------------------------------------------------------------
26
27  AUTHOR(S):    Jeff Scott         <jscott@mail.com>
28
29 ----------------------------------------------------------------------
30
31  VARIABLES:
32
33 ----------------------------------------------------------------------
34
35  INPUTS:       n/a
36
37 ----------------------------------------------------------------------
38
39  OUTPUTS:      -variables recorded in uiuc_recorder.dat
40
41 ----------------------------------------------------------------------
42
43  CALLED BY:   uiuc_wrapper.cpp 
44
45 ----------------------------------------------------------------------
46
47  CALLS TO:     none
48
49 ----------------------------------------------------------------------
50
51  COPYRIGHT:    (C) 2000 by Michael Selig
52
53  This program is free software; you can redistribute it and/or
54  modify it under the terms of the GNU General Public License
55  as published by the Free Software Foundation.
56
57  This program is distributed in the hope that it will be useful,
58  but WITHOUT ANY WARRANTY; without even the implied warranty of
59  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
60  GNU General Public License for more details.
61
62  You should have received a copy of the GNU General Public License
63  along with this program; if not, write to the Free Software
64  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
65  USA or view http://www.gnu.org/copyleft/gpl.html.
66
67 **********************************************************************/
68
69 #include "uiuc_recorder.h"
70
71 void uiuc_recorder(double dt )
72 {
73   
74   stack command_list;
75   string linetoken;
76   static int init = 0;
77   string record_variables = "# ";
78   LIST command_line;
79
80   command_list = recordParts->getCommands();
81   fout << endl;
82
83   for ( command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
84           record_variables += recordParts->getToken(*command_line,2) + "  ";
85
86   fout << record_variables << endl; 
87   for ( command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
88     {
89       
90       linetoken = recordParts->getToken(*command_line, 2); 
91
92       switch(record_map[linetoken])
93         {
94         case Dx_pilot_record:
95           {
96             fout << Dx_pilot << " ";
97             break;
98           }
99         case Dy_pilot_record:
100           {
101             fout << Dy_pilot << " ";
102             break;
103           }
104         case Dz_pilot_record:
105           {
106             fout << Dz_pilot << " ";
107             break;
108           }
109         case V_north_record:
110           {
111             fout << V_north << " ";
112             break;
113           }
114         case V_east_record:
115           {
116             fout << V_east << " ";
117             break;
118           }
119         case V_down_record:
120           {
121             fout << V_down << " ";
122             break;
123           }
124         case V_rel_wind_record:
125           {
126             fout << V_rel_wind << " ";
127             break;
128           }
129         case Dynamic_pressure_record:
130           {
131             fout << Dynamic_pressure << " ";
132             break;
133           }
134         case Alpha_record:
135           {
136             fout << Alpha << " ";
137             break;
138           }
139         case Alpha_dot_record:
140           {
141             fout << Alpha_dot << " ";
142             break;
143           }
144         case Beta_record:
145           {
146             fout << Beta << " ";
147             break;
148           }
149         case Beta_dot_record:
150           {
151             fout << Beta_dot << " ";
152             break;
153           }
154         case Gamma_record:
155           {
156             // fout << Gamma << " ";
157             break;
158           }
159         case P_body_record:
160           {
161             fout << P_body << " ";
162             break;
163           }
164         case Q_body_record:
165           {
166             fout << Q_body << " ";
167             break;
168           }
169         case R_body_record:
170           {
171             fout << R_body << " ";
172             break;
173           }
174         case Phi_record:
175           {
176             fout << Phi << " ";
177             break;
178           }
179         case Theta_record:
180           {
181             fout << Theta << " ";
182             break;
183           }
184         case Psi_record:
185           {
186             fout << Psi << " ";
187             break;
188           }
189         case Theta_dot_record:
190           {
191             fout << Theta_dot << " ";
192             break;
193           }
194         case density_record:
195           {
196             fout << Density << " ";
197             break;
198           }
199         case Mass_record:
200           {
201             fout << Mass << " ";
202             break;
203           }
204         case Simtime_record:
205           {
206             fout << Simtime << " ";
207             break;
208           }
209         case dt_record:
210         {
211             fout << dt << " ";
212           break;
213         }
214         case elevator_record:
215           {
216             fout << elevator << " ";
217             break;
218           }
219         case aileron_record:
220           {
221             fout << aileron << " ";
222             break;
223           }
224         case rudder_record:
225           {
226             fout << rudder << " ";
227             break;
228           }
229         case CD_record:
230           {
231             fout << CD << " ";
232             break;
233           }
234         case CDfaI_record:
235           {
236             fout << CDfaI << " ";
237             break;
238           }
239         case CDfadeI_record:
240           {
241             fout << CDfadeI << " ";
242             break;
243           }
244         case CL_record:
245           {
246             fout << CL << " ";
247             break;
248           }
249         case CLfaI_record:
250           {
251             fout << CLfaI << " ";
252             break;
253           }
254         case CLfadeI_record:
255           {
256             fout << CLfadeI << " ";
257             break;
258           }
259         case Cm_record:
260           {
261             fout << Cm << " ";
262             break;
263           }
264         case CmfadeI_record:
265           {
266             fout << CmfadeI << " ";
267             break;
268           }
269         case CY_record:
270           {
271             fout << CY  << " ";
272             break;
273           }
274         case CYfadaI_record:
275           {
276             fout << CYfadaI << " ";
277             break;
278           }
279         case CYfbetadrI_record:
280           {
281             fout << CYfbetadrI << " ";
282             break;
283           }
284         case Cl_record:
285           {
286             fout << Cl << " ";
287             break;
288           }
289         case ClfadaI_record:
290           {
291             fout << ClfadaI << " ";
292             break;
293           }
294         case ClfbetadrI_record:
295           {
296             fout << ClfbetadrI << " ";
297             break;
298           }
299         case Cn_record:
300           {
301             fout << Cn << " ";
302             break;
303           }
304         case CnfadaI_record:
305           {
306             fout << CnfadaI << " ";
307             break;
308           }
309         case CnfbetadrI_record:
310           {
311             fout << CnfbetadrI << " ";
312             break;
313           }
314         case F_X_wind_record:
315           {
316             fout << F_X_wind << " ";
317             break;
318           }
319         case F_Y_wind_record:
320           {
321             fout << F_Y_wind << " ";
322             break;
323           }
324         case F_Z_wind_record:
325           {
326             fout << F_Z_wind << " ";
327             break;
328           }
329         case F_X_aero_record:
330           {
331             fout << F_X_aero << " ";
332             break;
333           }
334         case F_Y_aero_record:
335           {
336             fout << F_Y_aero << " ";
337             break;
338           }
339         case F_Z_aero_record:
340           {
341             fout << F_Z_aero << " ";
342             break;
343           }
344         case F_X_engine_record:
345           {
346             fout << F_X_engine << " ";
347             break;
348           }
349         case F_Y_engine_record:
350           {
351             fout << F_Y_engine << " ";
352             break;
353           }
354         case F_Z_engine_record:
355           {
356             fout << F_Z_engine << " ";
357             break;
358           }
359         case F_X_gear_record:
360           {
361             fout << F_X_gear << " ";
362             break;
363           }
364         case F_Y_gear_record:
365           {
366             fout << F_Y_gear << " ";
367             break;
368           }
369         case F_Z_gear_record:
370           {
371             fout << F_Z_gear << " ";
372             break;
373           }
374         case F_X_record:
375           {
376             fout << F_X << " ";
377             break;
378           }
379         case F_Y_record:
380           {
381             fout << F_Y << " ";
382             break;
383           }
384         case F_Z_record:
385           {
386             fout << F_Z << " ";
387             break;
388           }
389         case M_l_aero_record:
390           {
391             fout << M_l_aero << " ";
392             break;
393           }
394         case M_m_aero_record:
395           {
396             fout << M_m_aero << " ";
397             break;
398           }
399         case M_n_aero_record:
400           {
401             fout << M_n_aero << " ";
402             break;
403           }
404         case M_l_engine_record:
405           {
406             fout << M_l_engine << " ";
407             break;
408           }
409         case M_m_engine_record:
410           {
411             fout << M_m_engine << " ";
412             break;
413           }
414         case M_n_engine_record:
415           {
416             fout << M_n_engine << " ";
417             break;
418           }
419         case M_l_gear_record:
420           {
421             fout << M_l_gear << " ";
422             break;
423           }
424         case M_m_gear_record:
425           {
426             fout << M_m_gear << " ";
427             break;
428           }
429         case M_n_gear_record:
430           {
431             fout << M_n_gear << " ";
432             break;
433           }
434         case M_l_rp_record:
435           {
436             fout << M_l_rp << " ";
437             break;
438           }
439         case M_m_rp_record:
440           {
441             fout << M_m_rp << " ";
442             break;
443           }
444         case M_n_rp_record:
445           {
446             fout << M_n_rp << " ";
447             break;
448           }
449         };
450     } // end record map
451 }
452
453 // end uiuc_recorder.cpp