Add ol.structs.IntegerSet.intersectsRange

This commit is contained in:
Tom Payne
2013-03-21 11:12:56 +01:00
parent 35ee45cefc
commit 4ee73bc02f
2 changed files with 70 additions and 0 deletions

View File

@@ -213,6 +213,31 @@ ol.structs.IntegerSet.prototype.getSize = function() {
};
/**
* @param {number} start Start.
* @param {number} stop Stop.
* @return {boolean} Intersects range.
*/
ol.structs.IntegerSet.prototype.intersectsRange = function(start, stop) {
goog.asserts.assert(start <= stop);
if (start == stop) {
return false;
} else {
var arr = this.arr_;
var n = arr.length;
var i = 0;
for (i = 0; i < n; i += 2) {
if (arr[i] <= start && start < arr[i + 1] ||
arr[i] < stop && stop - 1 < arr[i + 1] ||
start < arr[i] && arr[i + 1] <= stop) {
return true;
}
}
return false;
}
};
/**
* @return {boolean} Is empty.
*/