X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FScenery%2Fscenery.cxx;h=b319cefe8a29352f90e0590d2e77726eef0677ff;hb=a4e81f4ff075e6a3c0c2ea1b5a29c0bcdfdbc671;hp=2c0bf3f0d74227fcd89034533d6565a16593b36a;hpb=d79bfda33f02bbf679a3dd22e36b7dbcb2ab1e4e;p=flightgear.git diff --git a/src/Scenery/scenery.cxx b/src/Scenery/scenery.cxx index 2c0bf3f0d..b319cefe8 100644 --- a/src/Scenery/scenery.cxx +++ b/src/Scenery/scenery.cxx @@ -30,25 +30,74 @@ #endif #include -#include +#include #include #include #include +#include
+ #include "scenery.hxx" -// Shared structure to hold current scenery parameters -struct fgSCENERY scenery; +// Scenery Management system +FGScenery::FGScenery() { + SG_LOG( SG_TERRAIN, SG_INFO, "Initializing scenery subsystem" ); + + center = Point3D(0.0); + cur_elev = -9999; +} // Initialize the Scenery Management system -int fgSceneryInit( void ) { - FG_LOG( FG_TERRAIN, FG_INFO, "Initializing scenery subsystem" ); +FGScenery::~FGScenery() { +} + + +void FGScenery::init() { + // Scene graph root + scene_graph = new ssgRoot; + scene_graph->setName( "Scene" ); + + lighting = new ssgRoot; + lighting->setName( "Lighting" ); + + // 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_branch = new ssgBranch; + gnd_lights_branch->setName( "Ground Lighting" ); + lighting->addKid( gnd_lights_branch ); + + rwy_lights_branch = new ssgBranch; + rwy_lights_branch->setName( "Runway Lighting" ); + lighting->addKid( rwy_lights_branch ); +} + + +void FGScenery::update(double dt) { +} + + +void FGScenery::bind() { + fgTie("/environment/ground-elevation-m", this, + &FGScenery::get_cur_elev, &FGScenery::set_cur_elev); +} - scenery.cur_elev = -9999; - return 1; +void FGScenery::unbind() { + fgUntie("/environment/ground-elevation-m"); }