1
0
Fork 0
flightgear/src/FDM/ADA.hxx
curt ce574d59f5 The following changes were made to flightgear-0.7.5 code to implement the follow
ing features:

a) ADA Flight model - ADA.cxx, ADA.hxx, flight.hxx
b) Fighter a/c HUD       - flight.hxx, hud.hxx, hud.cxx, cockpit.cxx, hud_ladr.c
xx, hud_card.cxx
c) 3-window display      - options.hxx, options.cxx, viewer.cxx
d) Moving objects (ship) - main.cxx
e) Patches               - main.cxx

ADA.cxx, ADA.hxx
--------------------------
Interface to the external ADA flight dynamics package.

flight.hxx
----------
Included prototypes for accepting additional data fron the External flight
model for fighter aircraft HUD

Hud.hxx
-------
Included prototypes for accepting additional data for fighter HUD from Exernal F
light model.
Defined FIGHTER_HUD pre-processor directive to enable compilation of fighter hud
 code.

hud.cxx, cockpit.cxx, hud_ladr.cxx, hud_card.cxx
---------------------------------------
Included code to initialise additional reticles/text for fighter HUD which is co
nditionally
compiled if FIGHTER_HUD is defined.

options.hxx
-----------
Added window_offset, and function to retrieve its value for 3 windows

options.cxx
-----------
Changed few options to suit ADA/CEF projection system/screens and checks for win
dow offset.

views.cxx
---------
Added code to retrieve view offset for window.

Main.cxx
--------
Added code to load and move an aircraft carrier.
Patch to enable clouds from command line until Curtis fixes it. By default cloud
s are disabled.
2000-10-19 19:46:13 +00:00

174 lines
6.1 KiB
C++

// ADA.hxx -- interface to the "External"-ly driven ADA flight model
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// $Id$
#ifndef _ADA_HXX
#define _ADA_HXX
#include <simgear/io/sg_socket.hxx>
#include "flight.hxx"
class FGADA: public FGInterface {
private:
SGSocket *fdmsock;
// Auxilliary Flight Model parameters, basically for HUD
double aux1; // auxilliary flag
double aux2; // auxilliary flag
double aux3; // auxilliary flag
double aux4; // auxilliary flag
double aux5; // auxilliary flag
double aux6; // auxilliary flag
double aux7; // auxilliary flag
double aux8; // auxilliary flag
float aux9; // auxilliary flag
float aux10; // auxilliary flag
float aux11; // auxilliary flag
float aux12; // auxilliary flag
float aux13; // auxilliary flag
float aux14; // auxilliary flag
float aux15; // auxilliary flag
float aux16; // auxilliary flag
float aux17; // auxilliary flag
float aux18; // auxilliary flag
int iaux1; // auxilliary flag
int iaux2; // auxilliary flag
int iaux3; // auxilliary flag
int iaux4; // auxilliary flag
int iaux5; // auxilliary flag
int iaux6; // auxilliary flag
int iaux7; // auxilliary flag
int iaux8; // auxilliary flag
int iaux9; // auxilliary flag
int iaux10; // auxilliary flag
int iaux11; // auxilliary flag
int iaux12; // auxilliary flag
// copy FDM state to FGADA structures
bool copy_to_FGADA();
// copy FDM state from FGADA structures
bool copy_from_FGADA();
public:
// reset flight params to a specific position
bool init( double dt );
// update position based on inputs, positions, velocities, etc.
bool update( int multiloop );
// auxiliary data getters and setters
inline double get_aux1() const { return aux1; }
inline void set_aux1(double aux) { aux1 = aux; }
inline double get_aux2() const { return aux2; }
inline void set_aux2(double aux) { aux2 = aux; }
inline double get_aux3() const { return aux3; }
inline void set_aux3(double aux) { aux3 = aux; }
inline double get_aux4() const { return aux4; }
inline void set_aux4(double aux) { aux4 = aux; }
inline double get_aux5() const { return aux5; }
inline void set_aux5(double aux) { aux5 = aux; }
inline double get_aux6() const { return aux6; }
inline void set_aux6(double aux) { aux6 = aux; }
inline double get_aux7() const { return aux7; }
inline void set_aux7(double aux) { aux7 = aux; }
inline double get_aux8() const { return aux8; }
inline void set_aux8(double aux) { aux8 = aux; }
inline float get_aux9() const { return aux9; }
inline void set_aux9(float aux) { aux9 = aux; }
inline float get_aux10() const { return aux10; }
inline void set_aux10(float aux) { aux10 = aux; }
inline float get_aux11() const { return aux11; }
inline void set_aux11(float aux) { aux11 = aux; }
inline float get_aux12() const { return aux12; }
inline void set_aux12(float aux) { aux12 = aux; }
inline float get_aux13() const { return aux13; }
inline void set_aux13(float aux) { aux13 = aux; }
inline float get_aux14() const { return aux14; }
inline void set_aux14(float aux) { aux14 = aux; }
inline float get_aux15() const { return aux15; }
inline void set_aux15(float aux) { aux15 = aux; }
inline float get_aux16() const { return aux16; }
inline void set_aux16(float aux) { aux16 = aux; }
inline float get_aux17() const { return aux17; }
inline void set_aux17(float aux) { aux17 = aux; }
inline float get_aux18() const { return aux18; }
inline void set_aux18(float aux) { aux18 = aux; }
inline int get_iaux1() const { return iaux1; }
inline void set_iaux1(int iaux) { iaux1 = iaux; }
inline int get_iaux2() const { return iaux2; }
inline void set_iaux2(int iaux) { iaux2 = iaux; }
inline int get_iaux3() const { return iaux3; }
inline void set_iaux3(int iaux) { iaux3 = iaux; }
inline int get_iaux4() const { return iaux4; }
inline void set_iaux4(int iaux) { iaux4 = iaux; }
inline int get_iaux5() const { return iaux5; }
inline void set_iaux5(int iaux) { iaux5 = iaux; }
inline int get_iaux6() const { return iaux6; }
inline void set_iaux6(int iaux) { iaux6 = iaux; }
inline int get_iaux7() const { return iaux7; }
inline void set_iaux7(int iaux) { iaux7 = iaux; }
inline int get_iaux8() const { return iaux8; }
inline void set_iaux8(int iaux) { iaux8 = iaux; }
inline int get_iaux9() const { return iaux9; }
inline void set_iaux9(int iaux) { iaux9 = iaux; }
inline int get_iaux10() const { return iaux10; }
inline void set_iaux10(int iaux) { iaux10 = iaux; }
inline int get_iaux11() const { return iaux11; }
inline void set_iaux11(int iaux) { iaux11 = iaux; }
inline int get_iaux12() const { return iaux12; }
inline void set_iaux12(int iaux) { iaux12 = iaux; }
};
#endif // _ADA_HXX