X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetwork%2Fnet_fdm_mini.hxx;h=e1243756c90bf812f92a853fdcc2fa17fcfcd7b5;hb=a1031b052dd40ca3a4ea68dcd7f572b7d9e4bb24;hp=1f3e1fb78731af431b30c81b3c5ee79c6b62853e;hpb=e4b3eebdbb156474f07414f7f4bf29c251536c6b;p=flightgear.git diff --git a/src/Network/net_fdm_mini.hxx b/src/Network/net_fdm_mini.hxx index 1f3e1fb78..e1243756c 100644 --- a/src/Network/net_fdm_mini.hxx +++ b/src/Network/net_fdm_mini.hxx @@ -1,23 +1,10 @@ // net_fdm_mini.hxx -- defines a simple subset I/O interface to the flight // dynamics model variables // -// Written by Curtis Olson, started January 2002. +// Written by Curtis Olson - http://www.flightgear.org/~curt +// Started January 2002. // -// Copyright (C) 2002 Curtis L. Olson - curt@flightgear.com -// -// 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. +// This file is in the Public Domain, and comes with no warranty. // // $Id$ @@ -30,14 +17,22 @@ # error This library requires C++ #endif +#include -const int FG_NET_FDM_MINI_VERSION = 1; +// NOTE: this file defines an external interface structure. Due to +// variability between platforms and architectures, we only used fixed +// length types here. Specifically, integer types can vary in length. +// I am not aware of any platforms that don't use 4 bytes for float +// and 8 bytes for double. + + +const uint32_t FG_NET_FDM_MINI_VERSION = 2; // Define a structure containing the top level flight dynamics model // parameters -class FGNetFDMmini { +class FGNetMiniFDM { public: @@ -47,11 +42,7 @@ public: FG_MAX_TANKS = 4 }; - int version; // increment when data values change - int pad; // keep doubles 64-bit aligned for some - // hardware platforms, such as the Sun - // SPARC, which don't like misaligned - // data + uint32_t version; // increment when data values change // Positions double longitude; // geodetic (radians) @@ -62,13 +53,17 @@ public: double theta; // pitch (radians) double psi; // yaw or true heading (radians) + // Velocities + double vcas; + double climb_rate; // feet per second + // Consumables - int num_tanks; // Max number of fuel tanks + uint32_t num_tanks; // Max number of fuel tanks double fuel_quantity[FG_MAX_TANKS]; // Environment - time_t cur_time; // current unix time - long int warp; // offset in seconds to unix time + uint32_t cur_time; // current unix time + int32_t warp; // offset in seconds to unix time };