X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Ftiming%2Fsg_time.cxx;h=d32302ee1eef9c5575a5595f82ea612ea1ce734d;hb=b47d1ad5fd8ed111cae99c1f65f5bb65a5371501;hp=66f4b16e93da0da6d06c707bdd1932a0ff4f4a63;hpb=7151c3fac153fdeb12f4b4f1fd16d55ac6c89107;p=simgear.git diff --git a/simgear/timing/sg_time.cxx b/simgear/timing/sg_time.cxx index 66f4b16e..d32302ee 100644 --- a/simgear/timing/sg_time.cxx +++ b/simgear/timing/sg_time.cxx @@ -32,6 +32,7 @@ #include #include #include +#include #include @@ -58,6 +59,7 @@ #define DEGHR(x) ((x)/15.) #define RADHR(x) DEGHR(x*SGD_RADIANS_TO_DEGREES) +using std::string; static const double MJD0 = 2415020.0; static const double J2000 = 2451545.0 - MJD0; @@ -88,9 +90,8 @@ void SGTime::init( double lon_rad, double lat_rad, SG_LOG( SG_EVENT, SG_INFO, "Reading timezone info from: " << zone.str() ); tzContainer = new SGTimeZoneContainer( zone.c_str() ); - - SGGeoCoord location( SGD_RADIANS_TO_DEGREES * lat_rad, SGD_RADIANS_TO_DEGREES * lon_rad ); - SGGeoCoord* nearestTz = tzContainer->getNearest(location); + SGGeod location(SGGeod::fromRad(lon_rad, lat_rad)); + SGTimeZone* nearestTz = tzContainer->getNearest(location); SGPath name( root ); name.append( nearestTz->getDescription() ); @@ -122,11 +123,7 @@ SGTime::SGTime() { SGTime::~SGTime() { - if ( tzContainer != NULL ) { - SGTimeZoneContainer *tmp = tzContainer; - tzContainer = NULL; - delete tmp; - } + delete tzContainer; } @@ -287,9 +284,8 @@ void SGTime::updateLocal( double lon_rad, double lat_rad, const string& root ) { } time_t currGMT; time_t aircraftLocalTime; - SGGeoCoord location( SGD_RADIANS_TO_DEGREES * lat_rad, - SGD_RADIANS_TO_DEGREES * lon_rad ); - SGGeoCoord* nearestTz = tzContainer->getNearest(location); + SGGeod location(SGGeod::fromRad(lon_rad, lat_rad)); + SGTimeZone* nearestTz = tzContainer->getNearest(location); SGPath zone( root ); zone.append ( nearestTz->getDescription() ); zonename = zone.str();