]> git.mxchange.org Git - flightgear.git/blob - src/Network/net_fdm.hxx
494352fc72e387c8c3bcd28c08c1e6da816aefdf
[flightgear.git] / src / Network / net_fdm.hxx
1 // net_fdm.hxx -- defines a common net I/O interface to the flight
2 //                dynamics model
3 //
4 // Written by Curtis Olson, started September 2001.
5 //
6 // Copyright (C) 2001  Curtis L. Olson  - curt@flightgear.com
7 //
8 // This program is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU General Public License as
10 // published by the Free Software Foundation; either version 2 of the
11 // License, or (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful, but
14 // WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 // General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the Free Software
20 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 //
22 // $Id$
23
24
25 #ifndef _NET_FDM_HXX
26 #define _NET_FDM_HXX
27
28
29 #ifndef __cplusplus                                                          
30 # error This library requires C++
31 #endif                                   
32
33 const int FG_NET_FDM_VERSION = 0x0004;
34
35 // Define a structure containing the top level flight dynamics model
36 // parameters
37
38 class FGNetFDM {
39
40 public:
41
42     int version;                // increment when data values change
43     int pad;                    // keep doubles 64-bit aligned for some
44                                 // hardware platforms, such as the Sun
45                                 // SPARC, which don't like misaligned
46                                 // data
47
48     // Positions
49     double longitude;           // geodetic (radians)
50     double latitude;            // geodetic (radians)
51     double altitude;            // above sea level (meters)
52     double agl;                 // above ground level (meters)
53     double phi;                 // roll (radians)
54     double theta;               // pitch (radians)
55     double psi;                 // yaw or true heading (radians)
56
57     // Velocities
58     double vcas;                // calibrated airspeed
59     double climb_rate;          // feet per second
60
61     // Time
62     time_t cur_time;            // current unix time
63     long int warp;              // offset in seconds to unix time
64 };
65
66
67 #endif // _NET_FDM_HXX