X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Ftiming%2Fsg_time.cxx;h=edcefd047268d2fee74674076743c13657aa8f0b;hb=10217a3b19f690624e42b224a6fb08b6673c3edd;hp=66f4b16e93da0da6d06c707bdd1932a0ff4f4a63;hpb=7151c3fac153fdeb12f4b4f1fd16d55ac6c89107;p=simgear.git diff --git a/simgear/timing/sg_time.cxx b/simgear/timing/sg_time.cxx index 66f4b16e..edcefd04 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(); @@ -542,7 +538,7 @@ time_t sgTimeGetGMT(int year, int month, int day, int hour, int min, int sec) if ( daylight > 0 ) { daylight = 1; } else if ( daylight < 0 ) { - SG_LOG( SG_EVENT, FG_WARN, + SG_LOG( SG_EVENT, SG_WARN, "OOOPS, problem in sg_time.cxx, no daylight savings info." ); }