From: Bertrand <bco...@us...> - 2014-11-15 11:57:41
|
Update of /cvsroot/jsbsim/JSBSim/src/initialization In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12004/src/initialization Modified Files: FGInitialCondition.cpp Log Message: Cleaned up the code to avoid the longitude and altitude to be read and set twice. Index: FGInitialCondition.cpp =================================================================== RCS file: /cvsroot/jsbsim/JSBSim/src/initialization/FGInitialCondition.cpp,v retrieving revision 1.96 retrieving revision 1.97 diff -C2 -r1.96 -r1.97 *** FGInitialCondition.cpp 15 Nov 2014 11:19:34 -0000 1.96 --- FGInitialCondition.cpp 15 Nov 2014 11:57:37 -0000 1.97 *************** *** 922,933 **** double latitude = document->FindElementValueAsNumberConvertTo("latitude", "RAD"); string lat_type = document->FindElement("latitude")->GetAttributeValue("type"); ! if (lat_type == "geod" || lat_type == "geodetic") { ! double longitude = position.GetLongitude(); ! double altitude = position.GetAltitudeASL(); // SetPositionGeodetic() assumes altitude ! position.SetPositionGeodetic(longitude, latitude, altitude); // is geodetic, but it's close enough for now. ! position.SetAltitudeAGL(altitude, 0.0); ! } else { position.SetLatitude(latitude); - } } --- 922,929 ---- double latitude = document->FindElementValueAsNumberConvertTo("latitude", "RAD"); string lat_type = document->FindElement("latitude")->GetAttributeValue("type"); ! if (lat_type == "geod" || lat_type == "geodetic") ! position.SetPositionGeodetic(0.0, latitude, 0.0); // Longitude and altitude will be set later on ! else position.SetLatitude(latitude); } *************** *** 1048,1056 **** string lat_type = latitude_el->GetAttributeValue("type"); double latitude = position_el->FindElementValueAsNumberConvertTo("latitude", "RAD"); ! if (lat_type == "geod" || lat_type == "geodetic") { ! position.SetPositionGeodetic(0.0, latitude, 0.0); // Longitude and altitude will be set later on ! } else { position.SetLatitude(latitude); - } } --- 1044,1051 ---- string lat_type = latitude_el->GetAttributeValue("type"); double latitude = position_el->FindElementValueAsNumberConvertTo("latitude", "RAD"); ! if (lat_type == "geod" || lat_type == "geodetic") ! position.SetPositionGeodetic(0.0, latitude, 0.0); // Longitude and altitude will be set later on ! else position.SetLatitude(latitude); } |