Merge pull request #1370 from avandecreme/tile_at_point

Fix getTileAtPoint epsilon precision
This commit is contained in:
Ian Gilman 2018-04-16 09:44:25 -07:00 committed by GitHub
commit b63c77fdb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -360,7 +360,7 @@ $.TileSource.prototype = {
if (point.x >= 1) { if (point.x >= 1) {
x = this.getNumTiles(level).x - 1; x = this.getNumTiles(level).x - 1;
} }
var EPSILON = 1e-16; var EPSILON = 1e-15;
if (point.y >= 1 / this.aspectRatio - EPSILON) { if (point.y >= 1 / this.aspectRatio - EPSILON) {
y = this.getNumTiles(level).y - 1; y = this.getNumTiles(level).y - 1;
} }

View File

@ -107,6 +107,17 @@
maxLevel: 0, maxLevel: 0,
}); });
assertTileAtPoint(0, new OpenSeadragon.Point(1, 1239 / 4036), new OpenSeadragon.Point(0, 0)); assertTileAtPoint(0, new OpenSeadragon.Point(1, 1239 / 4036), new OpenSeadragon.Point(0, 0));
// Test for issue #1362
tileSource = new OpenSeadragon.TileSource({
width: 2000,
height: 3033,
tileWidth: 2000,
tileHeight: 3033,
tileOverlap: 0,
maxLevel: 0,
});
assertTileAtPoint(0, new OpenSeadragon.Point(1, 3033 / 2000), new OpenSeadragon.Point(0, 0));
}); });
}()); }());