X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2Ffdm_shell.hxx;h=1b4a368e5b064ef97a32f08c63009d56a5a24d5c;hb=7041ed907891f7be0205cafe13b218f9f2767efa;hp=c9b44db7031ff5b634d293232af54c9f91bbb764;hpb=a0588272dc51ef0b2630f981cf1a913665cdc87a;p=flightgear.git diff --git a/src/FDM/fdm_shell.hxx b/src/FDM/fdm_shell.hxx index c9b44db70..1b4a368e5 100644 --- a/src/FDM/fdm_shell.hxx +++ b/src/FDM/fdm_shell.hxx @@ -1,7 +1,30 @@ +// fdm_shell.hxx -- encapsulate FDM implementations as well-behaved subsystems +// +// Written by James Turner, started June 2010. +// +// Copyright (C) 2010 Curtis L. Olson - http://www.flightgear.org/~curt +// +// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +// $Id$ + #ifndef FG_FDM_SHELL_HXX #define FG_FDM_SHELL_HXX #include +#include "TankProperties.hxx" // forward decls class FGInterface; @@ -18,23 +41,33 @@ class FDMShell : public SGSubsystem { public: FDMShell(); - ~FDMShell(); + virtual ~FDMShell(); virtual void init(); + virtual void shutdown(); virtual void reinit(); - + virtual void postinit(); + virtual void bind(); virtual void unbind(); virtual void update(double dt); - + + FGInterface* getInterface() const; private: void createImplementation(); - FGInterface* _impl; - SGPropertyNode* _props; // root property tree for this FDM instance + TankPropertiesList _tankProperties; + SGSharedPtr _impl; + SGPropertyNode_ptr _props; // root property tree for this FDM instance bool _dataLogging; + + SGPropertyNode_ptr _wind_north, _wind_east,_wind_down; + SGPropertyNode_ptr _control_fdm_atmo,_temp_degc,_pressure_inhg; + SGPropertyNode_ptr _density_slugft, _data_logging, _replay_master; + + SGPropertyNode_ptr _initialFdmProperties; }; #endif // of FG_FDM_SHELL_HXX