Make ol.extent.buffer return an extent instead of mutating
This commit is contained in:
+19
-7
@@ -51,15 +51,27 @@ ol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Increase an extent by the provided value.
|
* Return extent increased by the provided value.
|
||||||
* @param {ol.Extent} extent The extent to buffer.
|
* @param {ol.Extent} extent Extent.
|
||||||
* @param {number} value The amount by wich the extent should be buffered.
|
* @param {number} value The amount by wich the extent should be buffered.
|
||||||
|
* @param {ol.Extent=} opt_extent Extent.
|
||||||
|
* @return {ol.Extent} Extent.
|
||||||
*/
|
*/
|
||||||
ol.extent.buffer = function(extent, value) {
|
ol.extent.buffer = function(extent, value, opt_extent) {
|
||||||
extent[0] -= value;
|
if (goog.isDef(opt_extent)) {
|
||||||
extent[1] -= value;
|
opt_extent[0] = extent[0] - value;
|
||||||
extent[2] += value;
|
opt_extent[1] = extent[1] - value;
|
||||||
extent[3] += value;
|
opt_extent[2] = extent[2] + value;
|
||||||
|
opt_extent[3] = extent[3] + value;
|
||||||
|
return opt_extent;
|
||||||
|
} else {
|
||||||
|
return [
|
||||||
|
extent[0] - value,
|
||||||
|
extent[1] - value,
|
||||||
|
extent[2] + value,
|
||||||
|
extent[3] + value
|
||||||
|
];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ ol.TileUrlFunction.createFromParamsFunction =
|
|||||||
tmpSize[0] = tileSize[0] + (2 * gutter);
|
tmpSize[0] = tileSize[0] + (2 * gutter);
|
||||||
tmpSize[1] = tileSize[1] + (2 * gutter);
|
tmpSize[1] = tileSize[1] + (2 * gutter);
|
||||||
var extent = tileGrid.getTileCoordExtent(tileCoord, tmpExtent);
|
var extent = tileGrid.getTileCoordExtent(tileCoord, tmpExtent);
|
||||||
ol.extent.buffer(extent, tileResolution * gutter);
|
ol.extent.buffer(extent, tileResolution * gutter, extent);
|
||||||
return paramsFunction.call(this, baseUrl, params,
|
return paramsFunction.call(this, baseUrl, params,
|
||||||
extent, tmpSize, projection);
|
extent, tmpSize, projection);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ describe('ol.extent', function() {
|
|||||||
|
|
||||||
it('buffers an extent by some value', function() {
|
it('buffers an extent by some value', function() {
|
||||||
var extent = [-10, -20, 10, 20];
|
var extent = [-10, -20, 10, 20];
|
||||||
ol.extent.buffer(extent, 15);
|
expect(ol.extent.buffer(extent, 15)).to.eql([-25, -35, 25, 35]);
|
||||||
expect(extent).to.eql([-25, -35, 25, 35]);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user