diff --git a/src/ol/tile/tilebounds.js b/src/ol/tile/tilebounds.js index 133f62117c..4c139d2026 100644 --- a/src/ol/tile/tilebounds.js +++ b/src/ol/tile/tilebounds.js @@ -49,13 +49,23 @@ ol.TileBounds.prototype.clone = function() { }; +/** + * @param {ol.TileCoord} tileCoord Tile coordinate. + * @return {boolean} Contains tile coordinate. + */ +ol.TileBounds.prototype.contains = function(tileCoord) { + return this.minX <= tileCoord.x && tileCoord.x <= this.maxX && + this.minY <= tileCoord.y && tileCoord.y <= this.maxY; +}; + + /** * @param {ol.TileBounds} tileBounds Tile bounds. * @return {boolean} Contains. */ -ol.TileBounds.prototype.contains = function(tileBounds) { +ol.TileBounds.prototype.containsTileBounds = function(tileBounds) { return this.minX <= tileBounds.minX && tileBounds.maxX <= this.maxX && - this.minY <= tileBounds.minY && tileBounds.minY <= this.minY; + this.minY <= tileBounds.minY && tileBounds.minY <= this.maxY; }; diff --git a/src/ol/tile/tilebounds_test.js b/src/ol/tile/tilebounds_test.js index 152c287980..2d6c01ae44 100644 --- a/src/ol/tile/tilebounds_test.js +++ b/src/ol/tile/tilebounds_test.js @@ -14,17 +14,33 @@ function testClone() { } -function testContainsPositive() { - var tileBounds = new ol.TileBounds(0, 0, 2, 2); - var tileCoord = new ol.TileCoord(3, 1, 1); - assertTrue(tileBounds.contains(tileCoord)); -} - - -function testContainsNegative() { - var tileBounds = new ol.TileBounds(0, 0, 2, 2); - var tileCoord = new ol.TileCoord(3, 1, 3); - assertFalse(tileBounds.contains(tileCoord)); +function testContains() { + var tileBounds = new ol.TileBounds(1, 1, 3, 3); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 0, 0))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 0, 1))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 0, 2))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 0, 3))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 0, 4))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 1, 0))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 1, 1))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 1, 2))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 1, 3))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 1, 4))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 2, 0))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 2, 1))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 2, 2))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 2, 3))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 2, 4))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 3, 0))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 3, 1))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 3, 2))); + assertTrue(tileBounds.contains(new ol.TileCoord(0, 3, 3))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 3, 4))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 4, 0))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 4, 1))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 4, 2))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 4, 3))); + assertFalse(tileBounds.contains(new ol.TileCoord(0, 4, 4))); } diff --git a/src/ol/webgl/tilelayerrenderer.js b/src/ol/webgl/tilelayerrenderer.js index 225e39d074..bc0ed2a4ef 100644 --- a/src/ol/webgl/tilelayerrenderer.js +++ b/src/ol/webgl/tilelayerrenderer.js @@ -291,7 +291,7 @@ ol.webgl.TileLayerRenderer.prototype.render = function() { tileBounds.minY, tileBounds.minX + nTilesX - 1, tileBounds.minY + nTilesY - 1); - goog.asserts.assert(framebufferTileBounds.contains(tileBounds)); + goog.asserts.assert(framebufferTileBounds.containsTileBounds(tileBounds)); this.bindFramebuffer_(framebufferDimension); gl.viewport(0, 0, framebufferDimension, framebufferDimension);