diff --git a/src/ol/structs/buffer.js b/src/ol/structs/buffer.js index e9a601c375..a3a19359f6 100644 --- a/src/ol/structs/buffer.js +++ b/src/ol/structs/buffer.js @@ -57,20 +57,20 @@ ol.structs.Buffer = function(opt_arr, opt_used, opt_dirty) { /** * @param {Array.} values Values. - * @return {number} Index. + * @return {number} Offset. */ ol.structs.Buffer.prototype.add = function(values) { var size = values.length; goog.asserts.assert(size > 0); - var index = this.freeSet_.findRange(size); - goog.asserts.assert(index != -1); // FIXME - this.freeSet_.removeRange(index, index + size); + var offset = this.freeSet_.findRange(size); + goog.asserts.assert(offset != -1); // FIXME + this.freeSet_.removeRange(offset, offset + size); var i; for (i = 0; i < size; ++i) { - this.arr_[index + i] = values[i]; + this.arr_[offset + i] = values[i]; } - this.dirtySet_.addRange(index, index + size); - return index; + this.dirtySet_.addRange(offset, offset + size); + return offset; }; @@ -119,34 +119,34 @@ ol.structs.Buffer.prototype.getFreeSet = function() { /** - * @param {number} index Index. * @param {number} size Size. + * @param {number} offset Offset. */ -ol.structs.Buffer.prototype.remove = function(index, size) { - this.freeSet_.addRange(index, index + size); - this.dirtySet_.removeRange(index, index + size); +ol.structs.Buffer.prototype.remove = function(size, offset) { + this.freeSet_.addRange(offset, offset + size); + this.dirtySet_.removeRange(offset, offset + size); if (ol.BUFFER_REPLACE_UNUSED_ENTRIES_WITH_NANS) { var arr = this.arr_; var i; for (i = 0; i < size; ++i) { - arr[index + i] = NaN; + arr[offset + i] = NaN; } } }; /** - * @param {number} index Index. * @param {Array.} values Values. + * @param {number} offset Offset. */ -ol.structs.Buffer.prototype.set = function(index, values) { +ol.structs.Buffer.prototype.set = function(values, offset) { var arr = this.arr_; var n = values.length; - goog.asserts.assert(0 <= index && index + n <= arr.length); + goog.asserts.assert(0 <= offset && offset + n <= arr.length); for (i = 0; i < n; ++i) { - arr[index + i] = values[i]; + arr[offset + i] = values[i]; } - this.dirtySet_.addRange(index, index + n); + this.dirtySet_.addRange(offset, offset + n); }; diff --git a/test/spec/ol/structs/buffer.test.js b/test/spec/ol/structs/buffer.test.js index bc44c8e8c9..ad0ce6cee6 100644 --- a/test/spec/ol/structs/buffer.test.js +++ b/test/spec/ol/structs/buffer.test.js @@ -161,7 +161,7 @@ describe('ol.structs.Buffer', function() { it('allows items to be removes', function() { expect(function() { - b.remove(2, 4); + b.remove(4, 2); }).to.not.throwException(); }); @@ -170,12 +170,12 @@ describe('ol.structs.Buffer', function() { describe('set', function() { it('updates the items', function() { - b.set(2, [5, 6]); + b.set([5, 6], 2); expect(b.getArray()).to.equalArray([0, 1, 5, 6]); }); it('marks the set items as dirty', function() { - b.set(2, [5, 6]); + b.set([5, 6], 2); var dirtySet = b.getDirtySet(); expect(dirtySet.isEmpty()).to.be(false); expect(dirtySet.getArray()).to.equalArray([2, 4]);