1
0
Fork 0

Add the aircraft model, model manager, view manager, and scenery

manager to the standard subsystem collection manager, rather than
using extra code to initialize and update them.
This commit is contained in:
david 2004-02-27 15:16:23 +00:00
parent 85a1e5cc98
commit 721e9f469d
2 changed files with 32 additions and 38 deletions

View file

@ -97,6 +97,7 @@
#include <Input/input.hxx>
#include <Instrumentation/instrument_mgr.hxx>
#include <Model/acmodel.hxx>
#include <Model/modelmgr.hxx>
#include <AIModel/AIManager.hxx>
#include <Navaids/fixlist.hxx>
#include <Navaids/ilslist.hxx>
@ -1481,6 +1482,37 @@ bool fgInitSubsystems() {
// Initialize the scenery management subsystem.
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Initialize the TG scenery subsystem.
////////////////////////////////////////////////////////////////////
FGScenery * scenery = new FGScenery;
globals->set_scenery(scenery);
globals->add_subsystem("scenery", scenery);
globals->set_tile_mgr( new FGTileMgr );
////////////////////////////////////////////////////////////////////
// Initialize the general model subsystem.
////////////////////////////////////////////////////////////////////
FGModelMgr * manager = new FGModelMgr;
globals->set_model_mgr(manager);
globals->add_subsystem("model-manager", manager);
////////////////////////////////////////////////////////////////////
// Initialize the 3D aircraft model subsystem (has a dependency on
// the scenery subsystem.)
////////////////////////////////////////////////////////////////////
FGAircraftModel * aircraft = new FGAircraftModel;
globals->set_aircraft_model(aircraft);
globals->add_subsystem("aircraft-model", aircraft);
////////////////////////////////////////////////////////////////////
// Initialize the view manager subsystem.
////////////////////////////////////////////////////////////////////
FGViewMgr *viewmgr = new FGViewMgr;
globals->set_viewmgr( viewmgr );
globals->add_subsystem("view-manager", viewmgr);
if ( globals->get_tile_mgr()->init() ) {
// Load the local scenery data
double visibility_meters = fgGetDouble("/environment/visibility-m");

View file

@ -892,12 +892,6 @@ void fgUpdateTimeDepCalcs() {
// do nothing, fdm isn't inited yet
}
globals->get_model_mgr()->update(delta_time_sec);
globals->get_aircraft_model()->update(delta_time_sec);
// update the view angle
globals->get_viewmgr()->update(delta_time_sec);
// Update solar system
globals->get_ephem()->update( globals->get_time_params()->getMjd(),
globals->get_time_params()->getLst(),
@ -1608,38 +1602,6 @@ bool fgMainInit( int argc, char **argv ) {
globals->set_model_lib(new SGModelLib);
////////////////////////////////////////////////////////////////////
// Initialize the TG scenery subsystem.
////////////////////////////////////////////////////////////////////
globals->set_scenery( new FGScenery );
globals->get_scenery()->init();
globals->get_scenery()->bind();
globals->set_tile_mgr( new FGTileMgr );
////////////////////////////////////////////////////////////////////
// Initialize the general model subsystem.
////////////////////////////////////////////////////////////////////
globals->set_model_mgr(new FGModelMgr);
globals->get_model_mgr()->init();
globals->get_model_mgr()->bind();
////////////////////////////////////////////////////////////////////
// Initialize the 3D aircraft model subsystem (has a dependency on
// the scenery subsystem.)
////////////////////////////////////////////////////////////////////
globals->set_aircraft_model(new FGAircraftModel);
globals->get_aircraft_model()->init();
globals->get_aircraft_model()->bind();
////////////////////////////////////////////////////////////////////
// Initialize the view manager subsystem.
////////////////////////////////////////////////////////////////////
FGViewMgr *viewmgr = new FGViewMgr;
globals->set_viewmgr( viewmgr );
viewmgr->init();
viewmgr->bind();
// Initialize the sky
SGPath ephem_data_path( globals->get_fg_root() );
ephem_data_path.append( "Astro" );