]> git.mxchange.org Git - simgear.git/commitdiff
fix wrong bucket calculation for western hemisphere, close to poles, full-degree...
authortorsten <torsten>
Fri, 27 Mar 2009 22:38:54 +0000 (22:38 +0000)
committerTim Moore <timoore@redhat.com>
Mon, 30 Mar 2009 16:43:39 +0000 (18:43 +0200)
set_bucket computed false left border, if the span was greater than 1, longitudes were less than zero
and longitudes were within SG_EPSILON on a full degree. Example: -179.0, +87.5 returned -176, 87
but should return -180, 87.
Discovered by Brian Schack

simgear/bucket/newbucket.cxx

index 9a4b20ebfe436cb1610880c293de8e62bb56ea0a..119959039091e68cd7dcad37dcfd125aa7913371 100644 (file)
@@ -106,7 +106,7 @@ void SGBucket::set_bucket( double dlon, double dlat ) {
     } else if ( span <= 1.0 ) {
        x = (int)((dlon - lon) / span);
     } else {
-       if ( (dlon >= 0) || (fabs(diff) < SG_EPSILON) ) {
+       if ( dlon >= 0 ) {
            lon = (int)( (int)(lon / span) * span);
        } else {
            // cout << " lon = " << lon