diff --git a/src/ol/extent.js b/src/ol/extent.js index 58046e2930..baff0fc59b 100644 --- a/src/ol/extent.js +++ b/src/ol/extent.js @@ -216,14 +216,17 @@ ol.extent.createOrUpdateFromCoordinates = function(coordinates, opt_extent) { /** * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. * @param {number} stride Stride. * @param {ol.Extent=} opt_extent Extent. * @return {ol.Extent} Extent. */ ol.extent.createOrUpdateFromFlatCoordinates = - function(flatCoordinates, stride, opt_extent) { + function(flatCoordinates, offset, end, stride, opt_extent) { var extent = ol.extent.createOrUpdateEmpty(opt_extent); - return ol.extent.extendFlatCoordinates(extent, flatCoordinates, stride); + return ol.extent.extendFlatCoordinates( + extent, flatCoordinates, offset, end, stride); }; @@ -324,13 +327,16 @@ ol.extent.extendCoordinates = function(extent, coordinates) { /** * @param {ol.Extent} extent Extent. * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. * @param {number} stride Stride. * @return {ol.Extent} Extent. */ -ol.extent.extendFlatCoordinates = function(extent, flatCoordinates, stride) { - var i, ii; - for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) { - ol.extent.extendXY(extent, flatCoordinates[i], flatCoordinates[i + 1]); +ol.extent.extendFlatCoordinates = + function(extent, flatCoordinates, offset, end, stride) { + for (; offset < end; offset += stride) { + ol.extent.extendXY( + extent, flatCoordinates[offset], flatCoordinates[offset + 1]); } return extent; }; diff --git a/src/ol/geom/simplegeometry.js b/src/ol/geom/simplegeometry.js index d85be1a2cf..7fa378bf29 100644 --- a/src/ol/geom/simplegeometry.js +++ b/src/ol/geom/simplegeometry.js @@ -90,7 +90,8 @@ ol.geom.SimpleGeometry.prototype.containsXY = goog.functions.FALSE; ol.geom.SimpleGeometry.prototype.getExtent = function(opt_extent) { if (this.extentRevision != this.getRevision()) { this.extent = ol.extent.createOrUpdateFromFlatCoordinates( - this.flatCoordinates, this.stride, this.extent); + this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, + this.extent); this.extentRevision = this.getRevision(); } goog.asserts.assert(goog.isDef(this.extent));