From: curt Date: Thu, 2 Nov 2000 00:59:39 +0000 (+0000) Subject: A couple clean ups ... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=d79bfda33f02bbf679a3dd22e36b7dbcb2ab1e4e;p=flightgear.git A couple clean ups ... --- diff --git a/src/Scenery/scenery.cxx b/src/Scenery/scenery.cxx index 0294de24d..2c0bf3f0d 100644 --- a/src/Scenery/scenery.cxx +++ b/src/Scenery/scenery.cxx @@ -40,10 +40,6 @@ #include "scenery.hxx" -// Temporary hack until we get a better texture management system running -GLint area_texture; - - // Shared structure to hold current scenery parameters struct fgSCENERY scenery; @@ -56,17 +52,3 @@ int fgSceneryInit( void ) { return 1; } - - -// Tell the scenery manager where we are so it can load the proper data, and -// build the proper structures. -void fgSceneryUpdate(double lon, double lat, double elev) { - // does nothing; -} - - -// Render out the current scene -void fgSceneryRender( void ) { -} - - diff --git a/src/Scenery/scenery.hxx b/src/Scenery/scenery.hxx index ae40e2709..a0fc95e8a 100644 --- a/src/Scenery/scenery.hxx +++ b/src/Scenery/scenery.hxx @@ -64,15 +64,6 @@ extern struct fgSCENERY scenery; int fgSceneryInit( void ); -// Tell the scenery manager where we are so it can load the proper -// data, and build the proper structures. -void fgSceneryUpdate(double lon, double lat, double elev); - - -// Render out the current scene -void fgSceneryRender( void ); - - #endif // _SCENERY_HXX diff --git a/src/Scenery/tilemgr.cxx b/src/Scenery/tilemgr.cxx index 9c59da5e1..0266ca5b6 100644 --- a/src/Scenery/tilemgr.cxx +++ b/src/Scenery/tilemgr.cxx @@ -168,7 +168,8 @@ static void CurrentNormalInLocalPlane(sgVec3 dst, sgVec3 src) { // explicitely. lat & lon are in radians. view_pos in current world // coordinate translated near (0,0,0) (in meters.) Returns result in // meters. -bool FGTileMgr::current_elev_ssg( sgdVec3 abs_view_pos, sgVec3 view_pos ) { +bool FGTileMgr::current_elev_ssg( sgdVec3 abs_view_pos, sgVec3 view_pos, + double *terrain_elev ) { sgdVec3 orig, dir; sgdSetVec3(orig, view_pos ); @@ -193,7 +194,7 @@ bool FGTileMgr::current_elev_ssg( sgdVec3 abs_view_pos, sgVec3 view_pos ) { } if ( result > -9000 ) { - scenery.cur_elev = result; + *terrain_elev = result; scenery.cur_radius = geoc.radius(); sgVec3 tmp; sgSetVec3(tmp, hit_list.get_normal(this_hit)); @@ -205,7 +206,7 @@ bool FGTileMgr::current_elev_ssg( sgdVec3 abs_view_pos, sgVec3 view_pos ) { return true; } else { FG_LOG( FG_TERRAIN, FG_INFO, "no terrain intersection" ); - scenery.cur_elev = 0.0; + *terrain_elev = 0.0; float *up = globals->get_current_view()->get_world_up(); sgdSetVec3(scenery.cur_normal, up[0], up[1], up[2]); return false; @@ -479,12 +480,24 @@ int FGTileMgr::update( double lon, double lat ) { // cout << "abs_view_pos = " << tmp_abs_view_pos << endl; prep_ssg_nodes(); sgSetVec3( tmp_view_pos, 0.0, 0.0, 0.0 ); - current_elev_ssg( tmp_abs_view_pos, tmp_view_pos ); + double tmp_elev; + if ( current_elev_ssg(tmp_abs_view_pos, tmp_view_pos, &tmp_elev) ) { + scenery.cur_elev = tmp_elev; + } else { + scenery.cur_elev = 0.0; + } } else { // cout << "abs view pos = " << current_view.abs_view_pos // << " view pos = " << current_view.view_pos << endl; - current_elev_ssg( globals->get_current_view()->get_abs_view_pos(), - globals->get_current_view()->get_view_pos() ); + double tmp_elev; + if ( current_elev_ssg(globals->get_current_view()->get_abs_view_pos(), + globals->get_current_view()->get_view_pos(), + &tmp_elev) ) + { + scenery.cur_elev = tmp_elev; + } else { + scenery.cur_elev = 0.0; + } } // cout << "current elevation (ssg) == " << scenery.cur_elev << endl; diff --git a/src/Scenery/tilemgr.hxx b/src/Scenery/tilemgr.hxx index 39b8103c5..dacc37634 100644 --- a/src/Scenery/tilemgr.hxx +++ b/src/Scenery/tilemgr.hxx @@ -165,7 +165,8 @@ public: FGHitList *list ); bool current_elev_ssg( sgdVec3 abs_view_pos, - sgVec3 view_pos ); + sgVec3 view_pos, + double *terrain_elev ); // Prepare the ssg nodes ... for each tile, set it's proper // transform and update it's range selector based on current