]> git.mxchange.org Git - flightgear.git/blob - src/FDM/LaRCsim/ls_interface.h
533d1328140213f1d0fa91758651a784ff8d19da
[flightgear.git] / src / FDM / LaRCsim / ls_interface.h
1 /**************************************************************************
2  * ls_interface.h -- interface to the "LaRCsim" flight model
3  *
4  * Written by Curtis Olson, started May 1997.
5  *
6  * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of the
11  * License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  *
22  * $Id$
23  * (Log is kept at end of this file)
24  **************************************************************************/
25
26
27 #ifndef _LS_INTERFACE_H
28 #define _LS_INTERFACE_H
29
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35
36 #include "ls_types.h"
37
38
39 /* reset flight params to a specific position */ 
40 int ls_toplevel_init(double dt, char * aircraft);
41
42 /* update position based on inputs, positions, velocities, etc. */
43 int ls_update(int multiloop);
44
45 #if 0
46 /* Convert from the fgFLIGHT struct to the LaRCsim generic_ struct */
47 int fgFlight_2_LaRCsim (fgFLIGHT *f);
48
49 /* Convert from the LaRCsim generic_ struct to the fgFLIGHT struct */
50 int fgLaRCsim_2_Flight (fgFLIGHT *f);
51 #endif
52
53 void ls_loop( SCALAR dt, int initialize );
54
55 /* Set the altitude (force) */
56 int ls_ForceAltitude(double alt_feet);
57
58
59 #endif /* _LS_INTERFACE_H */
60
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66
67 // $Log$
68 // Revision 1.3  2000/04/27 19:57:08  curt
69 // MacOS build updates.
70 //
71 // Revision 1.2  2000/04/10 18:09:41  curt
72 // David Megginson made a few (mostly minor) mods to the LaRCsim files, and
73 // it's now possible to choose the LaRCsim model at runtime, as in
74 //
75 //   fgfs --aircraft=c172
76 //
77 // or
78 //
79 //   fgfs --aircraft=uiuc --aircraft-dir=Aircraft-uiuc/Boeing747
80 //
81 // I did this so that I could play with the UIUC stuff without losing
82 // Tony's C172 with its flaps, etc.  I did my best to respect the design
83 // of the LaRCsim code by staying in C, making only minimal changes, and
84 // not introducing any dependencies on the rest of FlightGear.  The
85 // modified files are attached.
86 //
87 // Revision 1.1.1.1  1999/06/17 18:07:33  curt
88 // Start of 0.7.x branch
89 //
90 // Revision 1.1.1.1  1999/04/05 21:32:45  curt
91 // Start of 0.6.x branch.
92 //
93 // Revision 1.11  1998/10/17 01:34:15  curt
94 // C++ ifying ...
95 //
96 // Revision 1.10  1998/10/16 23:27:45  curt
97 // C++-ifying.
98 //
99 // Revision 1.9  1998/07/12 03:11:04  curt
100 // Removed some printf()'s.
101 // Fixed the autopilot integration so it should be able to update it's control
102 //   positions every time the internal flight model loop is run, and not just
103 //   once per rendered frame.
104 // Added a routine to do the necessary stuff to force an arbitrary altitude
105 //   change.
106 // Gave the Navion engine just a tad more power.
107 //
108 // Revision 1.8  1998/04/21 16:59:39  curt
109 // Integrated autopilot.
110 // Prepairing for C++ integration.
111 //
112 // Revision 1.7  1998/02/07 15:29:39  curt
113 // Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
114 // <chotchkiss@namg.us.anritsu.com>
115 //
116 // Revision 1.6  1998/02/03 23:20:17  curt
117 // Lots of little tweaks to fix various consistency problems discovered by
118 // Solaris' CC.  Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
119 // passed arguments along to the real printf().  Also incorporated HUD changes
120 // by Michele America.
121 //
122 // Revision 1.5  1998/01/19 19:27:05  curt
123 // Merged in make system changes from Bob Kuehne <rpk@sgi.com>
124 // This should simplify things tremendously.
125 //
126 // Revision 1.4  1998/01/19 18:40:27  curt
127 // Tons of little changes to clean up the code and to remove fatal errors
128 // when building with the c++ compiler.
129 //
130 // Revision 1.3  1997/07/23 21:52:20  curt
131 // Put comments around the text after an #endif for increased portability.
132 //
133 // Revision 1.2  1997/05/29 22:39:59  curt
134 // Working on incorporating the LaRCsim flight model.
135 //
136 // Revision 1.1  1997/05/29 00:09:58  curt
137 // Initial Flight Gear revision.
138 //