X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FScenery%2Ftileentry.hxx;h=e315d515071cb97c50b0bb5b029ffddce5fe3827;hb=048da049f87fe3f543795f3b1b511d774caa2787;hp=574018e4f532d88922aa908589681a3888e41109;hpb=c0f70c0d5452aaf8eaab3dbccd07dfd8ad790677;p=flightgear.git diff --git a/src/Scenery/tileentry.hxx b/src/Scenery/tileentry.hxx index 574018e4f..e315d5150 100644 --- a/src/Scenery/tileentry.hxx +++ b/src/Scenery/tileentry.hxx @@ -104,6 +104,8 @@ class FGTileEntry { public: + /* CLO123 FROM HERE TO THE CORRESPONDING MARKER ARE THINGS THAT + CAN BE DELETED AFTER WE DROP THE ASCII SCENERY FORMAT */ typedef vector < sgVec3 * > free_vec3_list; typedef vector < sgVec2 * > free_vec2_list; typedef vector < unsigned short * > free_index_list; @@ -111,6 +113,7 @@ public: // node list point_list nodes; int ncount; + /* CLO123 MARKER */ // global tile culling data Point3D center; @@ -141,15 +144,17 @@ private: // pointer to ssg transform for this tile ssgTransform *terra_transform; - ssgTransform *lights_transform; + ssgTransform *rwy_lights_transform; + ssgTransform *gnd_lights_transform; // pointer to ssg range selector for this tile ssgRangeSelector *terra_range; - ssgRangeSelector *lights_range; + ssgRangeSelector *rwy_lights_range; + ssgRangeSelector *gnd_lights_range; // we create several preset brightness and can choose which one we // want based on lighting conditions. - ssgSelector *lights_brightness; + ssgSelector *gnd_lights_brightness; // ADA ---> // Runway centre coords. @@ -177,11 +182,16 @@ private: */ volatile int pending_models; - ssgBranch* obj_load( const std::string& path, - ssgVertexArray* lights, bool is_base ); + bool obj_load( const std::string& path, + ssgBranch* geometry, + ssgBranch* rwy_lights, + ssgVertexArray* gound_lights, + bool is_base ); ssgLeaf* gen_lights( ssgVertexArray *lights, int inc, float bright ); + double timestamp; + public: // ADA ---> @@ -216,7 +226,7 @@ public: // Update the ssg transform node for this tile so it can be // properly drawn relative to our (0,0,0) point - void prep_ssg_node( const Point3D& p, float vis); + void prep_ssg_node( const Point3D& p, sgVec3 up, float vis); /** * Load tile data from a file. @@ -249,13 +259,26 @@ public: /** * Add terrain mesh and ground lighting to scene graph. */ - void add_ssg_nodes( ssgBranch* terrain, ssgBranch* ground ); + void add_ssg_nodes( ssgBranch* terrain_branch, + ssgBranch* gnd_lights_branch, + ssgBranch* rwy_lights_branch ); /** * disconnect terrain mesh and ground lighting nodes from scene * graph for this tile. */ void disconnect_ssg_nodes(); + + + /** + * return the SSG Transform node for the terrain + */ + inline ssgTransform *get_terra_transform() { return terra_transform; } + + void set_timestamp(double time_ms) { timestamp = time_ms; } + + inline double get_timestamp() const { return timestamp; } + };