X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FScenery%2Fscenery.cxx;h=88435c10cd7dc72a6677c388232e3a841f95e970;hb=e83af4e235800d04f4ecba10499228865baf3d54;hp=51891c0621826ac6a202564adc8a9df96759e10e;hpb=5a849b66e855a643c600ad4cfcce1f82e0fcdeb3;p=flightgear.git diff --git a/src/Scenery/scenery.cxx b/src/Scenery/scenery.cxx index 51891c062..88435c10c 100644 --- a/src/Scenery/scenery.cxx +++ b/src/Scenery/scenery.cxx @@ -25,27 +25,17 @@ # include #endif -#ifdef HAVE_WINDOWS_H -# include -#endif - -#include -#include - #include #include #include +#include #include
#include "scenery.hxx" -// Shared structure to hold current scenery parameters -FGScenery scenery; - - // Scenery Management system FGScenery::FGScenery() { SG_LOG( SG_TERRAIN, SG_INFO, "Initializing scenery subsystem" ); @@ -54,21 +44,59 @@ FGScenery::FGScenery() { cur_elev = -9999; } + // Initialize the Scenery Management system FGScenery::~FGScenery() { } + void FGScenery::init() { + // Scene graph root + scene_graph = new ssgRoot; + scene_graph->setName( "Scene" ); + + // Terrain branch + terrain_branch = new ssgBranch; + terrain_branch->setName( "Terrain" ); + scene_graph->addKid( terrain_branch ); + + models_branch = new ssgBranch; + models_branch->setName( "Models" ); + scene_graph->addKid( models_branch ); + + aircraft_branch = new ssgBranch; + aircraft_branch->setName( "Aircraft" ); + scene_graph->addKid( aircraft_branch ); + + // Lighting + gnd_lights_root = new ssgRoot; + gnd_lights_root->setName( "Ground Lighting Root" ); + + vasi_lights_root = new ssgRoot; + vasi_lights_root->setName( "VASI/PAPI Lighting Root" ); + + rwy_lights_root = new ssgRoot; + rwy_lights_root->setName( "Runway Lighting Root" ); + + taxi_lights_root = new ssgRoot; + taxi_lights_root->setName( "Taxi Lighting Root" ); + + // Initials values needed by the draw-time object loader + sgUserDataInit( globals->get_model_lib(), globals->get_fg_root(), + globals->get_props(), globals->get_sim_time_sec() ); } + void FGScenery::update(double dt) { } + void FGScenery::bind() { fgTie("/environment/ground-elevation-m", this, &FGScenery::get_cur_elev, &FGScenery::set_cur_elev); } + void FGScenery::unbind() { fgUntie("/environment/ground-elevation-m"); }