diff --git a/src/ATC/AIEntity.hxx b/src/ATC/AIEntity.hxx index 2ff757049..deab859e2 100644 --- a/src/ATC/AIEntity.hxx +++ b/src/ATC/AIEntity.hxx @@ -58,7 +58,7 @@ protected: double pitch; //degrees char* model_path; //Path to the 3D model - FGModelPlacement aip; + SGModelPlacement aip; void Transform(); }; diff --git a/src/ATC/AILocalTraffic.cxx b/src/ATC/AILocalTraffic.cxx index 7cf30c5f3..4a7b0da31 100644 --- a/src/ATC/AILocalTraffic.cxx +++ b/src/ATC/AILocalTraffic.cxx @@ -157,7 +157,7 @@ bool FGAILocalTraffic::Init(string ICAO, OperatingState initialState, PatternLeg string planepath = "Aircraft/c172/Models/c172-dpm.ac"; SGPath path = globals->get_fg_root(); path.append(planepath); - ssgBranch *model = fgLoad3DModel( path.str(), + ssgBranch *model = sgLoad3DModel( path.str(), planepath.c_str(), globals->get_props(), globals->get_sim_time_sec() ); @@ -404,8 +404,8 @@ void FGAILocalTraffic::Update(double dt) { //cout << "In IN_PATTERN\n"; if(!inAir) DoGroundElev(); if(!elevInitGood) { - if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); //cout << "TAKEOFF_ROLL, POS = " << pos.lon() << ", " << pos.lat() << ", " << pos.elev() << '\n'; //Transform(); aip.setVisible(true); @@ -421,8 +421,8 @@ void FGAILocalTraffic::Update(double dt) { //cout << "*" << flush; if(!elevInitGood) { //DoGroundElev(); - if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); //Transform(); aip.setVisible(true); //Transform(); @@ -469,8 +469,8 @@ void FGAILocalTraffic::Update(double dt) { //cout << "In PARKED\n"; if(!elevInitGood) { DoGroundElev(); - if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); //Transform(); aip.setVisible(true); //Transform(); @@ -613,8 +613,8 @@ void FGAILocalTraffic::FlyTrafficPattern(double dt) { double dveldt = 5.0; vel += dveldt * dt; } - if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); } IAS = vel + (cos((hdg - wind_from) * DCL_DEGREES_TO_RADIANS) * wind_speed); if(IAS >= 70) { @@ -743,8 +743,8 @@ void FGAILocalTraffic::FlyTrafficPattern(double dt) { // for us in update(...) when the inAir flag is false. } if(pos.elev() < (rwy.threshold_pos.elev()+10.0+wheelOffset)) { - if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) { - if((aip.getFGLocation()->get_cur_elev_m() + wheelOffset) > pos.elev()) { + if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) { + if((aip.getSGLocation()->get_cur_elev_m() + wheelOffset) > pos.elev()) { slope = 0.0; pitch = 0.0; leg = LANDING_ROLL; @@ -755,8 +755,8 @@ void FGAILocalTraffic::FlyTrafficPattern(double dt) { break; case LANDING_ROLL: //inAir = false; - if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); } track = rwy.hdg; double dveldt = -5.0; @@ -1063,8 +1063,8 @@ void FGAILocalTraffic::Taxi(double dt) { double slope = 0.0; pos = dclUpdatePosition(pos, track, slope, dist); //cout << "Updated position...\n"; - if(aip.getFGLocation()->get_cur_elev_m() > -9990) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); } // else don't change the elev until we get a valid ground elev again! } else if(lastNode) { if(taxiState == TD_LINING_UP) { @@ -1082,8 +1082,8 @@ void FGAILocalTraffic::Taxi(double dt) { double slope = 0.0; pos = dclUpdatePosition(pos, track, slope, dist); //cout << "Updated position...\n"; - if(aip.getFGLocation()->get_cur_elev_m() > -9990) { - pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset); + if(aip.getSGLocation()->get_cur_elev_m() > -9990) { + pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset); } // else don't change the elev until we get a valid ground elev again! if(fabs(hdg - rwy.hdg) <= 1.0) { operatingState = IN_PATTERN; @@ -1117,14 +1117,14 @@ void FGAILocalTraffic::DoGroundElev() { // answer with one call to the function, but what I tried in the two commented-out lines // below only intermittently worked, and I haven't quite groked why yet. //SGBucket buck(pos.lon(), pos.lat()); - //aip.getFGLocation()->set_tile_center(Point3D(buck.get_center_lon(), buck.get_center_lat(), 0.0)); + //aip.getSGLocation()->set_tile_center(Point3D(buck.get_center_lon(), buck.get_center_lat(), 0.0)); double visibility_meters = fgGetDouble("/environment/visibility-m"); //globals->get_tile_mgr()->prep_ssg_nodes( acmodel_location, - globals->get_tile_mgr()->prep_ssg_nodes( aip.getFGLocation(), visibility_meters ); + globals->get_tile_mgr()->prep_ssg_nodes( aip.getSGLocation(), visibility_meters ); Point3D scenery_center = globals->get_scenery()->get_center(); - globals->get_tile_mgr()->update( aip.getFGLocation(), visibility_meters, (aip.getFGLocation())->get_absolute_view_pos( scenery_center ) ); - // save results of update in FGLocation for fdm... + globals->get_tile_mgr()->update( aip.getSGLocation(), visibility_meters, (aip.getSGLocation())->get_absolute_view_pos( scenery_center ) ); + // save results of update in SGLocation for fdm... //if ( globals->get_scenery()->get_cur_elev() > -9990 ) { // acmodel_location-> @@ -1132,10 +1132,10 @@ void FGAILocalTraffic::DoGroundElev() { //} // The need for this here means that at least 2 consecutive passes are needed :-( - aip.getFGLocation()->set_tile_center( globals->get_scenery()->get_next_center() ); + aip.getSGLocation()->set_tile_center( globals->get_scenery()->get_next_center() ); //cout << "Transform Elev is " << globals->get_scenery()->get_cur_elev() << '\n'; - aip.getFGLocation()->set_cur_elev_m(globals->get_scenery()->get_cur_elev()); + aip.getSGLocation()->set_cur_elev_m(globals->get_scenery()->get_cur_elev()); //return(globals->get_scenery()->get_cur_elev()); } diff --git a/src/Cockpit/panel.hxx b/src/Cockpit/panel.hxx index fc2afda00..9f1d42445 100644 --- a/src/Cockpit/panel.hxx +++ b/src/Cockpit/panel.hxx @@ -228,7 +228,7 @@ private: * or joystick, but they are tied to specific mouse actions in * rectangular areas of the panel. */ -class FGPanelAction : public FGConditional +class FGPanelAction : public SGConditional { public: FGPanelAction (); @@ -288,7 +288,7 @@ private: /** * A transformation for a layer. */ -class FGPanelTransformation : public FGConditional +class FGPanelTransformation : public SGConditional { public: @@ -327,7 +327,7 @@ public: * on current FGFS instrument readings: for example, a texture * representing a needle can rotate to show the airspeed. */ -class FGInstrumentLayer : public FGConditional +class FGInstrumentLayer : public SGConditional { public: @@ -369,7 +369,7 @@ protected: * may show up in the future (some complex instruments could be * entirely hand-coded, for example). */ -class FGPanelInstrument : public FGConditional +class FGPanelInstrument : public SGConditional { public: FGPanelInstrument (); @@ -491,7 +491,7 @@ public: DOUBLE_VALUE }; - class Chunk : public FGConditional + class Chunk : public SGConditional { public: Chunk (const string &text, const string &fmt = "%s"); diff --git a/src/Cockpit/panel_io.cxx b/src/Cockpit/panel_io.cxx index 88fe30c4a..28435e20f 100644 --- a/src/Cockpit/panel_io.cxx +++ b/src/Cockpit/panel_io.cxx @@ -132,12 +132,12 @@ readTexture (const SGPropertyNode * node) //////////////////////////////////////////////////////////////////////// static void -readConditions (FGConditional * component, const SGPropertyNode * node) +readConditions (SGConditional *component, const SGPropertyNode *node) { const SGPropertyNode * conditionNode = node->getChild("condition"); if (conditionNode != 0) // The top level is implicitly AND - component->setCondition(fgReadCondition(globals->get_props(), + component->setCondition(sgReadCondition(globals->get_props(), conditionNode) ); } diff --git a/src/FDM/LaRCsim.cxx b/src/FDM/LaRCsim.cxx index 3a27172e4..8ab20ab23 100644 --- a/src/FDM/LaRCsim.cxx +++ b/src/FDM/LaRCsim.cxx @@ -190,7 +190,7 @@ void FGLaRCsim::update( double dt ) { // Inform LaRCsim of the local terrain altitude // Runway_altitude = get_Runway_altitude(); - Runway_altitude = getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m() * SG_METER_TO_FEET; + Runway_altitude = getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m() * SG_METER_TO_FEET; // Weather /* V_north_airmass = get_V_north_airmass(); V_east_airmass = get_V_east_airmass(); diff --git a/src/FDM/YASim/YASim.cxx b/src/FDM/YASim/YASim.cxx index 6173f2d5f..f65c627f4 100644 --- a/src/FDM/YASim/YASim.cxx +++ b/src/FDM/YASim/YASim.cxx @@ -253,7 +253,7 @@ void YASim::copyToYASim(bool copyState) wind[2] = get_V_down_airmass() * FT2M * -1.0; // Get ground elevation from the FGinterface's FGlocation data - double ground = getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m(); + double ground = getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m(); // cout << "YASIM: ground = " << ground << endl; float pressure = fgGetFloat("/environment/pressure-inhg") * INHG2PA; diff --git a/src/FDM/flight.cxx b/src/FDM/flight.cxx index 9274166f1..1f9d650c0 100644 --- a/src/FDM/flight.cxx +++ b/src/FDM/flight.cxx @@ -201,7 +201,7 @@ FGInterface::common_init () * SGD_DEGREES_TO_RADIANS ); double ground_elev_m = globals->get_scenery()->get_cur_elev(); double ground_elev_ft = ground_elev_m * SG_METER_TO_FEET; - _acmodel->get3DModel()->getFGLocation()->set_cur_elev_m( ground_elev_m ); + _acmodel->get3DModel()->getSGLocation()->set_cur_elev_m( ground_elev_m ); _set_Runway_altitude ( ground_elev_ft ); if ( fgGetBool("/sim/presets/onground") || fgGetDouble("/sim/presets/altitude-ft") < ground_elev_ft ) { @@ -504,7 +504,7 @@ void FGInterface::_updateGeodeticPosition( double lat, double lon, double alt ) _set_Sea_level_radius( sl_radius * SG_METER_TO_FEET ); if ( getACModel() != NULL ) { - _set_Runway_altitude( getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m() * SG_METER_TO_FEET ); + _set_Runway_altitude( getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m() * SG_METER_TO_FEET ); } _set_sin_lat_geocentric( lat_geoc ); @@ -561,7 +561,7 @@ void FGInterface::_updateGeocentricPosition( double lat_geoc, double lon, _set_Geodetic_Position( lat_geod, lon, alt ); _set_Sea_level_radius( sl_radius2 * SG_METER_TO_FEET ); - _set_Runway_altitude( getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m() * SG_METER_TO_FEET ); + _set_Runway_altitude( getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m() * SG_METER_TO_FEET ); _set_sin_lat_geocentric( lat_geoc ); _set_cos_lat_geocentric( lat_geoc ); diff --git a/src/Input/input.cxx b/src/Input/input.cxx index a2419ca9b..9e236f269 100644 --- a/src/Input/input.cxx +++ b/src/Input/input.cxx @@ -104,7 +104,7 @@ FGBinding::read (const SGPropertyNode * node) { const SGPropertyNode * conditionNode = node->getChild("condition"); if (conditionNode != 0) - setCondition(fgReadCondition(globals->get_props(), conditionNode)); + setCondition(sgReadCondition(globals->get_props(), conditionNode)); _command_name = node->getStringValue("command", ""); if (_command_name.empty()) { diff --git a/src/Input/input.hxx b/src/Input/input.hxx index 2dc81f5a5..2ca5568a6 100644 --- a/src/Input/input.hxx +++ b/src/Input/input.hxx @@ -62,7 +62,7 @@ SG_USING_STD(vector); * keyboard key, a joystick button or axis, or even a panel * instrument.
*/ -class FGBinding : public FGConditional +class FGBinding : public SGConditional { public: diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index f71573cff..adf2f936b 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -980,19 +980,22 @@ fgInitNav () bool fgInitPosition() { bool set_pos = false; - // Do a first guess if we should be on the ground or in the air - // (to be refined later based on other input. + // If glideslope is specified, then calculate offset-distance or + // altitude relative to glide slope if either of those was not + // specified. + if ( fgGetDouble("/sim/presets/glideslope-deg") > 0.1 ) { + fgSetDistOrAltFromGlideSlope(); + } + + // Select ground or air start depending on if an altitude is + // specified (this choice can be refined later based on other + // input.) if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) { fgSetBool("/sim/presets/onground", false); } else { fgSetBool("/sim/presets/onground", true); } - // If glideslope is specified, then calculate offset-distance or - // altitude relative to glide slope if either of those was not - // specified. - fgSetDistOrAltFromGlideSlope(); - // If we have an explicit, in-range lon/lat, don't change it, just use it. // If not, check for an airport-id and use that. // If not, default to the middle of the KSFO field. @@ -1045,33 +1048,18 @@ bool fgInitPosition() { if ( !set_pos && !vor.empty() ) { // a VOR is requested if ( fgSetPosFromNAV( vor, vor_freq ) ) { - if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) { - fgSetBool("/sim/presets/onground", false); - } else { - fgSetBool("/sim/presets/onground", true); - } set_pos = true; } } if ( !set_pos && !ndb.empty() ) { // an NDB is requested if ( fgSetPosFromNAV( ndb, ndb_freq ) ) { - if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) { - fgSetBool("/sim/presets/onground", false); - } else { - fgSetBool("/sim/presets/onground", true); - } set_pos = true; } } if ( !set_pos && !fix.empty() ) { // a Fix is requested if ( fgSetPosFromFix( fix ) ) { - if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) { - fgSetBool("/sim/presets/onground", false); - } else { - fgSetBool("/sim/presets/onground", true); - } set_pos = true; } } diff --git a/src/Main/globals.hxx b/src/Main/globals.hxx index 606cb79ec..4a6dda600 100644 --- a/src/Main/globals.hxx +++ b/src/Main/globals.hxx @@ -52,6 +52,7 @@ class SGEphemeris; class SGCommandMgr; class SGMagVar; +class SGModelLoader; class SGPropertyNode; class SGRoute; class SGTime; @@ -66,7 +67,6 @@ class FGControls; class FGEnvironment; class FGEnvironmentMgr; class FGIO; -class FGModelLoader; class FGModelMgr; class FGScenery; #ifdef FG_MPLAYER_AS @@ -159,7 +159,7 @@ private: SGCommandMgr *commands; - FGModelLoader * model_loader; + SGModelLoader * model_loader; FGAircraftModel *acmodel; @@ -275,9 +275,9 @@ public: inline SGCommandMgr *get_commands () { return commands; } - inline FGModelLoader * get_model_loader () { return model_loader; } + inline SGModelLoader * get_model_loader () { return model_loader; } - inline void set_model_loader (FGModelLoader * loader) { + inline void set_model_loader (SGModelLoader * loader) { model_loader = loader; } diff --git a/src/Main/main.cxx b/src/Main/main.cxx index fae900537..d7c3c38d5 100644 --- a/src/Main/main.cxx +++ b/src/Main/main.cxx @@ -497,7 +497,7 @@ void fgRenderFrame() { } // Keep resetting sim time while the sim is initializing globals->set_sim_time_sec( 0.0 ); - Animation::set_sim_time_sec( 0.0 ); + SGAnimation::set_sim_time_sec( 0.0 ); } else { // idle_state is now 1000 meaning we've finished all our // initializations and are running the main loop, so this will @@ -1025,7 +1025,7 @@ static void fgMainLoop( void ) { delta_time_sec = 0; last_time_stamp = current_time_stamp; globals->inc_sim_time_sec( delta_time_sec ); - Animation::set_sim_time_sec( globals->get_sim_time_sec() ); + SGAnimation::set_sim_time_sec( globals->get_sim_time_sec() ); static long remainder = 0; long elapsed; @@ -1042,9 +1042,9 @@ static void fgMainLoop( void ) { sglog().setLogLevels( SG_ALL, (sgDebugPriority)fgGetInt("/sim/log-level") ); sglog().setLogLevels( SG_ALL, SG_INFO ); - FGLocation * acmodel_location = 0; + SGLocation * acmodel_location = 0; if(cur_fdm_state->getACModel() != 0) { - acmodel_location = (FGLocation *) cur_fdm_state->getACModel()->get3DModel()->getFGLocation(); + acmodel_location = (SGLocation *) cur_fdm_state->getACModel()->get3DModel()->getSGLocation(); } SG_LOG( SG_ALL, SG_DEBUG, "Running Main Loop"); @@ -1250,14 +1250,14 @@ static void fgMainLoop( void ) { // update tile manager for FDM... // ...only if location is different than the viewer (to avoid duplicating effort) - if( acmodel_location != current_view->getFGLocation() ) { + if( acmodel_location != current_view->getSGLocation() ) { if( acmodel_location != 0 ) { globals->get_tile_mgr()->prep_ssg_nodes( acmodel_location, visibility_meters ); globals->get_tile_mgr()-> update( acmodel_location, visibility_meters, acmodel_location->get_absolute_view_pos(globals->get_scenery()->get_center()) ); - // save results of update in FGLocation for fdm... + // save results of update in SGLocation for fdm... if ( globals->get_scenery()->get_cur_elev() > -9990 ) { acmodel_location-> set_cur_elev_m( globals->get_scenery()->get_cur_elev() ); @@ -1267,24 +1267,24 @@ static void fgMainLoop( void ) { } } - globals->get_tile_mgr()->prep_ssg_nodes( current_view->getFGLocation(), + globals->get_tile_mgr()->prep_ssg_nodes( current_view->getSGLocation(), visibility_meters ); // update tile manager for view... // IMPORTANT!!! the tilemgr update for view location _must_ be done last // after the FDM's until all of Flight Gear code references the viewer's location // for elevation instead of the "scenery's" current elevation. - FGLocation *view_location = globals->get_current_view()->getFGLocation(); + SGLocation *view_location = globals->get_current_view()->getSGLocation(); globals->get_tile_mgr()->update( view_location, visibility_meters, current_view->get_absolute_view_pos() ); - // save results of update in FGLocation for fdm... + // save results of update in SGLocation for fdm... if ( globals->get_scenery()->get_cur_elev() > -9990 ) { - current_view->getFGLocation()->set_cur_elev_m( globals->get_scenery()->get_cur_elev() ); + current_view->getSGLocation()->set_cur_elev_m( globals->get_scenery()->get_cur_elev() ); } - current_view->getFGLocation()->set_tile_center( globals->get_scenery()->get_next_center() ); + current_view->getSGLocation()->set_tile_center( globals->get_scenery()->get_next_center() ); // If fdm location is same as viewer's then we didn't do the update for fdm location - // above so we need to save the viewer results in the fdm FGLocation as well... - if( acmodel_location == current_view->getFGLocation() ) { + // above so we need to save the viewer results in the fdm SGLocation as well... + if( acmodel_location == current_view->getSGLocation() ) { if( acmodel_location != 0 ) { if ( globals->get_scenery()->get_cur_elev() > -9990 ) { acmodel_location->set_cur_elev_m( globals->get_scenery()->get_cur_elev() ); @@ -1697,7 +1697,7 @@ static bool fgMainInit( int argc, char **argv ) { // Initialize the general model subsystem. //////////////////////////////////////////////////////////////////// - globals->set_model_loader(new FGModelLoader); + globals->set_model_loader(new SGModelLoader); globals->set_model_mgr(new FGModelMgr); globals->get_model_mgr()->init(); globals->get_model_mgr()->bind(); diff --git a/src/Main/viewer.cxx b/src/Main/viewer.cxx index cf56c96a0..b32e93d2d 100644 --- a/src/Main/viewer.cxx +++ b/src/Main/viewer.cxx @@ -186,15 +186,15 @@ void FGViewer::init () { if ( _from_model ) - _location = (FGLocation *) globals->get_aircraft_model()->get3DModel()->getFGLocation(); + _location = (SGLocation *) globals->get_aircraft_model()->get3DModel()->getSGLocation(); else - _location = (FGLocation *) new FGLocation; + _location = (SGLocation *) new SGLocation; if ( _type == FG_LOOKAT ) { if ( _at_model ) - _target_location = (FGLocation *) globals->get_aircraft_model()->get3DModel()->getFGLocation(); + _target_location = (SGLocation *) globals->get_aircraft_model()->get3DModel()->getSGLocation(); else - _target_location = (FGLocation *) new FGLocation; + _target_location = (SGLocation *) new SGLocation; } } @@ -477,20 +477,20 @@ FGViewer::getZeroElevViewPos () } void -FGViewer::updateFromModelLocation (FGLocation * location) +FGViewer::updateFromModelLocation (SGLocation * location) { sgCopyMat4(LOCAL, location->getCachedTransformMatrix()); } void -FGViewer::updateAtModelLocation (FGLocation * location) +FGViewer::updateAtModelLocation (SGLocation * location) { sgCopyMat4(ATLOCAL, location->getCachedTransformMatrix()); } void -FGViewer::recalcOurOwnLocation (FGLocation * location, double lon_deg, double lat_deg, double alt_ft, +FGViewer::recalcOurOwnLocation (SGLocation * location, double lon_deg, double lat_deg, double alt_ft, double roll_deg, double pitch_deg, double heading_deg) { // update from our own data... @@ -668,7 +668,7 @@ FGViewer::recalcLookAt () } // copy results from location class to viewer... -// FIXME: some of these should be changed to reference directly to FGLocation... +// FIXME: some of these should be changed to reference directly to SGLocation... void FGViewer::copyLocationData() { diff --git a/src/Main/viewer.hxx b/src/Main/viewer.hxx index 291f4a491..890d35187 100644 --- a/src/Main/viewer.hxx +++ b/src/Main/viewer.hxx @@ -255,7 +255,7 @@ public: inline void set_clean() { _dirty = false; } // return eye location... - virtual FGLocation * getFGLocation () const { return _location; } + virtual SGLocation * getSGLocation () const { return _location; } private: @@ -322,8 +322,8 @@ private: bool _at_model; int _at_model_index; // number of model (for multi model) - FGLocation * _location; - FGLocation * _target_location; + SGLocation * _location; + SGLocation * _target_location; // the nominal field of view (angle, in degrees) double _fov_deg; @@ -372,9 +372,9 @@ private: void recalcLookFrom(); void recalcLookAt(); void copyLocationData(); - void updateFromModelLocation (FGLocation * location); - void updateAtModelLocation (FGLocation * location); - void recalcOurOwnLocation (FGLocation * location, double lon_deg, double lat_deg, double alt_ft, + void updateFromModelLocation (SGLocation * location); + void updateAtModelLocation (SGLocation * location); + void recalcOurOwnLocation (SGLocation * location, double lon_deg, double lat_deg, double alt_ft, double roll_deg, double pitch_deg, double heading_deg); // add to _heading_offset_deg diff --git a/src/Model/acmodel.cxx b/src/Model/acmodel.cxx index 14d996b12..90a70f8f6 100644 --- a/src/Model/acmodel.cxx +++ b/src/Model/acmodel.cxx @@ -53,7 +53,7 @@ FGAircraftModel::~FGAircraftModel () void FGAircraftModel::init () { - _aircraft = new FGModelPlacement; + _aircraft = new SGModelPlacement; string path = fgGetString("/sim/model/path", "Models/Geometry/glider.ac"); try { ssgBranch *model = fgLoad3DModelPanel( globals->get_fg_root(), diff --git a/src/Model/acmodel.hxx b/src/Model/acmodel.hxx index b2674e70f..0e6fe2235 100644 --- a/src/Model/acmodel.hxx +++ b/src/Model/acmodel.hxx @@ -21,7 +21,7 @@ SG_USING_STD(vector); // Don't pull in the headers, since we don't need them here. class ssgRoot; class ssgSelector; -class FGModelPlacement; +class SGModelPlacement; class FGAircraftModel : public FGSubsystem @@ -36,11 +36,11 @@ public: virtual void unbind (); virtual void update (double dt); virtual void draw (); - virtual FGModelPlacement * get3DModel() { return _aircraft; } + virtual SGModelPlacement * get3DModel() { return _aircraft; } private: - FGModelPlacement * _aircraft; + SGModelPlacement * _aircraft; ssgSelector * _selector; ssgRoot * _scene; float _nearplane; diff --git a/src/Model/model_panel.cxx b/src/Model/model_panel.cxx index b06d83c8a..3c197f661 100644 --- a/src/Model/model_panel.cxx +++ b/src/Model/model_panel.cxx @@ -84,7 +84,7 @@ fgLoad3DModelPanel( const string &fg_root, const string &path, ssgTransform * alignmainmodel = new ssgTransform; alignmainmodel->addKid(model); sgMat4 res_matrix; - fgMakeOffsetsMatrix(&res_matrix, + sgMakeOffsetsMatrix(&res_matrix, props.getFloatValue("/offsets/heading-deg", 0.0), props.getFloatValue("/offsets/roll-deg", 0.0), props.getFloatValue("/offsets/pitch-deg", 0.0), @@ -111,7 +111,7 @@ fgLoad3DModelPanel( const string &fg_root, const string &path, const char * name = animation_nodes[i]->getStringValue("name", 0); vector