X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Fglobals.hxx;h=071c97c24cd44ea5c4ba35488230aad386e2e418;hb=e7795093e7d846ef2fc9303763291eea9c16bc7e;hp=827debbcabcdc841c9405a7d6aa9c9eb5b242b78;hpb=e6859e4fe02071c5ece37da787bd45d4b00ae006;p=flightgear.git diff --git a/src/Main/globals.hxx b/src/Main/globals.hxx index 827debbca..071c97c24 100644 --- a/src/Main/globals.hxx +++ b/src/Main/globals.hxx @@ -24,14 +24,18 @@ #ifndef _GLOBALS_HXX #define _GLOBALS_HXX +#ifdef HAVE_CONFIG_H +# include +#endif + #include +#include +#include +#include #include #include STL_STRING -#include "fgfs.hxx" - - SG_USING_STD( vector ); SG_USING_STD( string ); @@ -55,7 +59,6 @@ class SGMagVar; class SGMaterialLib; class SGModelLib; class SGPropertyNode; -class SGRoute; class SGTime; class SGSoundMgr; @@ -65,10 +68,11 @@ class FGAIMgr; class FGATCMgr; class FGATCDisplay; class FGAircraftModel; -class FGAutopilot; class FGControls; class FGIO; +class FGLight; class FGModelMgr; +class FGRouteMgr; class FGScenery; #ifdef FG_MPLAYER_AS class FGMultiplayRxMgr; @@ -83,12 +87,14 @@ class FGViewer; /** * Bucket for subsystem pointers representing the sim's state. */ + class FGGlobals { private: - FGSubsystemMgr * subsystem_mgr; + SGSubsystemMgr * subsystem_mgr; + SGEventMgr * event_mgr; // Number of milliseconds elapsed since the start of the program. double sim_time_sec; @@ -124,11 +130,8 @@ private: // Material properties library SGMaterialLib *matlib; - // Current autopilot - FGAutopilot *autopilot; - // Global autopilot "route" - SGRoute *route; + FGRouteMgr *route_mgr; // 2D panel FGPanel *current_panel; @@ -175,13 +178,18 @@ private: // list of serial port-like configurations string_list *channel_options_list; + // A list of initial waypoints that are read from the command line + // and or flight-plan file during initialization + string_list *initial_waypoints; + // FlightGear scenery manager FGScenery *scenery; // Tile manager FGTileMgr *tile_mgr; - FGIO* io; + // Input/Ouput subsystem + FGIO *io; #ifdef FG_MPLAYER_AS //Mulitplayer managers @@ -195,16 +203,18 @@ public: FGGlobals(); virtual ~FGGlobals(); - virtual FGSubsystemMgr * get_subsystem_mgr () const; + virtual SGSubsystemMgr * get_subsystem_mgr () const; - virtual FGSubsystem * get_subsystem (const char * name); + virtual SGSubsystem * get_subsystem (const char * name); virtual void add_subsystem (const char * name, - FGSubsystem * subsystem, - FGSubsystemMgr::GroupType - type = FGSubsystemMgr::GENERAL, + SGSubsystem * subsystem, + SGSubsystemMgr::GroupType + type = SGSubsystemMgr::GENERAL, double min_time_sec = 0); + virtual SGEventMgr * get_event_mgr () const; + inline double get_sim_time_sec () const { return sim_time_sec; } inline void inc_sim_time_sec (double dt) { sim_time_sec += dt; } inline void set_sim_time_sec (double t) { sim_time_sec = t; } @@ -242,12 +252,6 @@ public: inline SGMaterialLib *get_matlib() const { return matlib; } inline void set_matlib( SGMaterialLib *m ) { matlib = m; } - inline FGAutopilot *get_autopilot() const { return autopilot; } - inline void set_autopilot( FGAutopilot *ap) { autopilot = ap; } - - inline SGRoute *get_route() const { return route; } - inline void set_route( SGRoute *r ) { route = r; } - inline FGAirportList *get_airports() const { return airports; } inline void set_airports( FGAirportList *a ) {airports = a; } @@ -327,14 +331,21 @@ public: channel_options_list = l; } + inline string_list *get_initial_waypoints () { + return initial_waypoints; + } + + inline void set_initial_waypoints (string_list *list) { + initial_waypoints = list; + } + inline FGScenery * get_scenery () const { return scenery; } inline void set_scenery ( FGScenery *s ) { scenery = s; } inline FGTileMgr * get_tile_mgr () const { return tile_mgr; } inline void set_tile_mgr ( FGTileMgr *t ) { tile_mgr = t; } - FGIO* get_io() const { return io; } - + inline FGIO* get_io() const { return io; } /** * Save the current state as the initial state.