1 // ADA.hxx -- interface to the "External"-ly driven ADA flight model
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.
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.
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.
24 #include <simgear/io/sg_socket.hxx>
26 #include <FDM/flight.hxx>
29 class FGADA: public FGInterface {
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
67 // copy FDM state to FGADA structures
70 // copy FDM state from FGADA structures
71 bool copy_from_FGADA();
78 // reset flight params to a specific position
81 // update position based on inputs, positions, velocities, etc.
82 bool update( int multiloop );
84 // auxiliary data getters and setters
85 inline double get_aux1() const { return aux1; }
86 inline void set_aux1(double aux) { aux1 = aux; }
88 inline double get_aux2() const { return aux2; }
89 inline void set_aux2(double aux) { aux2 = aux; }
91 inline double get_aux3() const { return aux3; }
92 inline void set_aux3(double aux) { aux3 = aux; }
94 inline double get_aux4() const { return aux4; }
95 inline void set_aux4(double aux) { aux4 = aux; }
97 inline double get_aux5() const { return aux5; }
98 inline void set_aux5(double aux) { aux5 = aux; }
100 inline double get_aux6() const { return aux6; }
101 inline void set_aux6(double aux) { aux6 = aux; }
103 inline double get_aux7() const { return aux7; }
104 inline void set_aux7(double aux) { aux7 = aux; }
106 inline double get_aux8() const { return aux8; }
107 inline void set_aux8(double aux) { aux8 = aux; }
109 inline float get_aux9() const { return aux9; }
110 inline void set_aux9(float aux) { aux9 = aux; }
112 inline float get_aux10() const { return aux10; }
113 inline void set_aux10(float aux) { aux10 = aux; }
115 inline float get_aux11() const { return aux11; }
116 inline void set_aux11(float aux) { aux11 = aux; }
118 inline float get_aux12() const { return aux12; }
119 inline void set_aux12(float aux) { aux12 = aux; }
121 inline float get_aux13() const { return aux13; }
122 inline void set_aux13(float aux) { aux13 = aux; }
124 inline float get_aux14() const { return aux14; }
125 inline void set_aux14(float aux) { aux14 = aux; }
127 inline float get_aux15() const { return aux15; }
128 inline void set_aux15(float aux) { aux15 = aux; }
130 inline float get_aux16() const { return aux16; }
131 inline void set_aux16(float aux) { aux16 = aux; }
133 inline float get_aux17() const { return aux17; }
134 inline void set_aux17(float aux) { aux17 = aux; }
136 inline float get_aux18() const { return aux18; }
137 inline void set_aux18(float aux) { aux18 = aux; }
139 inline int get_iaux1() const { return iaux1; }
140 inline void set_iaux1(int iaux) { iaux1 = iaux; }
142 inline int get_iaux2() const { return iaux2; }
143 inline void set_iaux2(int iaux) { iaux2 = iaux; }
145 inline int get_iaux3() const { return iaux3; }
146 inline void set_iaux3(int iaux) { iaux3 = iaux; }
148 inline int get_iaux4() const { return iaux4; }
149 inline void set_iaux4(int iaux) { iaux4 = iaux; }
151 inline int get_iaux5() const { return iaux5; }
152 inline void set_iaux5(int iaux) { iaux5 = iaux; }
154 inline int get_iaux6() const { return iaux6; }
155 inline void set_iaux6(int iaux) { iaux6 = iaux; }
157 inline int get_iaux7() const { return iaux7; }
158 inline void set_iaux7(int iaux) { iaux7 = iaux; }
160 inline int get_iaux8() const { return iaux8; }
161 inline void set_iaux8(int iaux) { iaux8 = iaux; }
163 inline int get_iaux9() const { return iaux9; }
164 inline void set_iaux9(int iaux) { iaux9 = iaux; }
166 inline int get_iaux10() const { return iaux10; }
167 inline void set_iaux10(int iaux) { iaux10 = iaux; }
169 inline int get_iaux11() const { return iaux11; }
170 inline void set_iaux11(int iaux) { iaux11 = iaux; }
172 inline int get_iaux12() const { return iaux12; }
173 inline void set_iaux12(int iaux) { iaux12 = iaux; }