]> git.mxchange.org Git - flightgear.git/blob - src/FDM/ADA.hxx
- catch exception from readProperties and exit
[flightgear.git] / src / FDM / ADA.hxx
1 // ADA.hxx -- interface to the "External"-ly driven ADA flight model
2 //
3 // This program is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU General Public License as
5 // published by the Free Software Foundation; either version 2 of the
6 // License, or (at your option) any later version.
7 //
8 // This program is distributed in the hope that it will be useful, but
9 // WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, write to the Free Software
15 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16 //
17 // $Id$
18
19
20 #ifndef _ADA_HXX
21 #define _ADA_HXX
22
23
24 #include <simgear/io/sg_socket.hxx>
25
26 #include <FDM/flight.hxx>
27
28
29 class FGADA: public FGInterface {
30
31 private:
32         
33     SGSocket *fdmsock;
34
35     // Auxilliary Flight Model parameters, basically for HUD
36     double        aux1;           // auxilliary flag
37     double        aux2;           // auxilliary flag
38     double        aux3;           // auxilliary flag
39     double        aux4;           // auxilliary flag
40     double        aux5;           // auxilliary flag
41     double        aux6;           // auxilliary flag
42     double        aux7;           // auxilliary flag
43     double        aux8;           // auxilliary flag
44     float        aux9;            // auxilliary flag
45     float        aux10;           // auxilliary flag
46     float        aux11;           // auxilliary flag
47     float        aux12;           // auxilliary flag
48     float        aux13;           // auxilliary flag
49     float        aux14;           // auxilliary flag
50     float        aux15;           // auxilliary flag
51     float        aux16;           // auxilliary flag
52     float        aux17;           // auxilliary flag
53     float        aux18;           // auxilliary flag
54     int          iaux1;           // auxilliary flag
55     int          iaux2;           // auxilliary flag
56     int          iaux3;           // auxilliary flag
57     int          iaux4;           // auxilliary flag
58     int          iaux5;           // auxilliary flag
59     int          iaux6;           // auxilliary flag
60     int          iaux7;           // auxilliary flag
61     int          iaux8;           // auxilliary flag
62     int          iaux9;           // auxilliary flag
63     int         iaux10;           // auxilliary flag
64     int         iaux11;           // auxilliary flag
65     int         iaux12;           // auxilliary flag
66
67     // copy FDM state to FGADA structures
68     bool copy_to_FGADA();
69
70     // copy FDM state from FGADA structures
71     bool copy_from_FGADA();
72
73 public:
74
75     FGADA( double dt );
76     ~FGADA();
77
78     // reset flight params to a specific position 
79     void init();
80
81     // update position based on inputs, positions, velocities, etc.
82     bool update( int multiloop );
83
84     // auxiliary data getters and setters
85     inline double get_aux1() const { return aux1; }
86     inline void set_aux1(double aux) { aux1 = aux; }
87
88     inline double get_aux2() const { return aux2; }
89     inline void set_aux2(double aux) { aux2 = aux; }
90
91     inline double get_aux3() const { return aux3; }
92     inline void set_aux3(double aux) { aux3 = aux; }
93
94     inline double get_aux4() const { return aux4; }
95     inline void set_aux4(double aux) { aux4 = aux; }
96
97     inline double get_aux5() const { return aux5; }
98     inline void set_aux5(double aux) { aux5 = aux; }
99
100     inline double get_aux6() const { return aux6; }
101     inline void set_aux6(double aux) { aux6 = aux; }
102
103     inline double get_aux7() const { return aux7; }
104     inline void set_aux7(double aux) { aux7 = aux; }
105
106     inline double get_aux8() const { return aux8; }
107     inline void set_aux8(double aux) { aux8 = aux; }
108
109     inline float get_aux9() const { return aux9; }
110     inline void set_aux9(float aux) { aux9 = aux; }
111
112     inline float get_aux10() const { return aux10; }
113     inline void set_aux10(float aux) { aux10 = aux; }
114
115     inline float get_aux11() const { return aux11; }
116     inline void set_aux11(float aux) { aux11 = aux; }
117
118     inline float get_aux12() const { return aux12; }
119     inline void set_aux12(float aux) { aux12 = aux; }
120
121     inline float get_aux13() const { return aux13; }
122     inline void set_aux13(float aux) { aux13 = aux; }
123
124     inline float get_aux14() const { return aux14; }
125     inline void set_aux14(float aux) { aux14 = aux; }
126
127     inline float get_aux15() const { return aux15; }
128     inline void set_aux15(float aux) { aux15 = aux; }
129
130     inline float get_aux16() const { return aux16; }
131     inline void set_aux16(float aux) { aux16 = aux; }
132
133     inline float get_aux17() const { return aux17; }
134     inline void set_aux17(float aux) { aux17 = aux; }
135
136     inline float get_aux18() const { return aux18; }
137     inline void set_aux18(float aux) { aux18 = aux; }
138
139     inline int get_iaux1() const { return iaux1; }
140     inline void set_iaux1(int iaux) { iaux1 = iaux; }
141
142     inline int get_iaux2() const { return iaux2; }
143     inline void set_iaux2(int iaux) { iaux2 = iaux; }
144
145     inline int get_iaux3() const { return iaux3; }
146     inline void set_iaux3(int iaux) { iaux3 = iaux; }
147
148     inline int get_iaux4() const { return iaux4; }
149     inline void set_iaux4(int iaux) { iaux4 = iaux; }
150
151     inline int get_iaux5() const { return iaux5; }
152     inline void set_iaux5(int iaux) { iaux5 = iaux; }
153
154     inline int get_iaux6() const { return iaux6; }
155     inline void set_iaux6(int iaux) { iaux6 = iaux; }
156
157     inline int get_iaux7() const { return iaux7; }
158     inline void set_iaux7(int iaux) { iaux7 = iaux; }
159
160     inline int get_iaux8() const { return iaux8; }
161     inline void set_iaux8(int iaux) { iaux8 = iaux; }
162
163     inline int get_iaux9() const { return iaux9; }
164     inline void set_iaux9(int iaux) { iaux9 = iaux; }
165
166     inline int get_iaux10() const { return iaux10; }
167     inline void set_iaux10(int iaux) { iaux10 = iaux; }
168
169     inline int get_iaux11() const { return iaux11; }
170     inline void set_iaux11(int iaux) { iaux11 = iaux; }
171
172     inline int get_iaux12() const { return iaux12; }
173     inline void set_iaux12(int iaux) { iaux12 = iaux; }
174 };
175
176
177 #endif // _ADA_HXX