]> git.mxchange.org Git - flightgear.git/blob - src/Network/net_gui.hxx
Various tweaks to ATC Flight Sim hardware inputs/outputs.
[flightgear.git] / src / Network / net_gui.hxx
1 // net_gui.hxx -- defines a simple subset I/O interface to the flight
2 //                     dynamics model variables
3 //
4 // Written by Curtis Olson - curt@flightgear.com, started January 2002.
5 //
6 // This file is in the Public Domain, and comes with no warranty.
7 //
8 // $Id$
9
10
11 #ifndef _NET_GUI_HXX
12 #define _NET_GUI_HXX
13
14
15 #ifndef __cplusplus                                                          
16 # error This library requires C++
17 #endif                                   
18
19
20 const int FG_NET_GUI_VERSION = 4;
21
22
23 // Define a structure containing the top level flight dynamics model
24 // parameters
25
26 class FGNetGUI {
27
28 public:
29
30     enum {
31         FG_MAX_ENGINES = 4,
32         FG_MAX_WHEELS = 3,
33         FG_MAX_TANKS = 4
34     };
35
36     int version;                // increment when data values change
37     int pad;                    // keep doubles 64-bit aligned for some
38                                 // hardware platforms, such as the Sun
39                                 // SPARC, which don't like misaligned
40                                 // data
41
42     // Positions
43     double longitude;           // geodetic (radians)
44     double latitude;            // geodetic (radians)
45     float altitude;             // above sea level (meters)
46     float agl;                  // above ground level (meters)
47     float phi;                  // roll (radians)
48     float theta;                // pitch (radians)
49     float psi;                  // yaw or true heading (radians)
50
51     // Velocities
52     float vcas;
53     float climb_rate;           // feet per second
54
55     // Consumables
56     int num_tanks;              // Max number of fuel tanks
57     float fuel_quantity[FG_MAX_TANKS];
58
59     // Environment
60     time_t cur_time;            // current unix time
61     long int warp;              // offset in seconds to unix time
62     float ground_elev;          // ground elev (meters)
63
64     // Approach
65     float tuned_freq;           // currently tuned frequency
66     float nav_radial;           // target nav radial
67     bool in_range;              // tuned navaid is in range?
68     float dist_nm;              // distance to tuned navaid in nautical miles
69     float course_deviation_deg; // degrees off target course
70     float gs_deviation_deg;     // degrees off target glide slope
71 };
72
73
74 #endif // _NET_GUI_HXX