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
|
|
|
// 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>
|
|
|
|
|
2000-12-13 23:02:02 +00:00
|
|
|
#include <FDM/flight.hxx>
|
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
|
|
|
|
|
|
|
|
|
|
|
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
|