X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FScenery%2Fscenery.hxx;h=4d506e4b709b1ea4877c2216197ecc9a6e1e0c27;hb=8dcf08c965ee6386f6fa1a0d8871906fa7faf989;hp=4e4531dfe10ddda7dafafab9d84d879aa4c6a100;hpb=aabdd355f014ddefeee05c4f495ead1b47c1d18d;p=flightgear.git diff --git a/src/Scenery/scenery.hxx b/src/Scenery/scenery.hxx index 4e4531dfe..4d506e4b7 100644 --- a/src/Scenery/scenery.hxx +++ b/src/Scenery/scenery.hxx @@ -31,6 +31,8 @@ #include +#include + #include #include
@@ -58,6 +60,15 @@ class FGScenery : public FGSubsystem { // unit normal at point used to determine current elevation sgdVec3 cur_normal; + // SSG scene graph + ssgRoot *scene_graph; + ssgBranch *terrain_branch; + ssgRoot *gnd_lights_root; + ssgRoot *rwy_lights_root; + ssgRoot *taxi_lights_root; + ssgBranch *models_branch; + ssgBranch *aircraft_branch; + public: FGScenery(); @@ -67,7 +78,7 @@ public: void init (); void bind (); void unbind (); - void update (int dt); + void update (double dt); inline double get_cur_elev() const { return cur_elev; } inline void set_cur_elev( double e ) { cur_elev = e; } @@ -80,14 +91,48 @@ public: inline void set_cur_radius( double r ) { cur_radius = r; } inline void set_cur_normal( sgdVec3 n ) { sgdCopyVec3( cur_normal, n ); } -}; - -extern FGScenery scenery; - - -// Initialize the Scenery Management system -int fgSceneryInit( void ); + inline ssgRoot *get_scene_graph () const { return scene_graph; } + inline void set_scene_graph (ssgRoot * s) { scene_graph = s; } + + inline ssgBranch *get_terrain_branch () const { return terrain_branch; } + inline void set_terrain_branch (ssgBranch * t) { terrain_branch = t; } + + inline ssgRoot *get_gnd_lights_root () const { + return gnd_lights_root; + } + inline void set_gnd_lights_root (ssgRoot *r) { + gnd_lights_root = r; + } + + inline ssgRoot *get_rwy_lights_root () const { + return rwy_lights_root; + } + inline void set_rwy_lights_root (ssgRoot *r) { + rwy_lights_root = r; + } + + inline ssgRoot *get_taxi_lights_root () const { + return taxi_lights_root; + } + inline void set_taxi_lights_root (ssgRoot *r) { + taxi_lights_root = r; + } + + inline ssgBranch *get_models_branch () const { + return models_branch; + } + inline void set_models_branch (ssgBranch *t) { + models_branch = t; + } + + inline ssgBranch *get_aircraft_branch () const { + return aircraft_branch; + } + inline void set_aircraft_branch (ssgBranch *t) { + aircraft_branch = t; + } +}; #endif // _SCENERY_HXX