From a871f29e75a6ce8120ca29517900d36f0d051150 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sat, 25 May 2013 19:35:59 -0500 Subject: [PATCH] Move remove into method --- src/ol/structs/rtree.js | 63 +++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/src/ol/structs/rtree.js b/src/ol/structs/rtree.js index ec8c761633..d172de6d8a 100644 --- a/src/ol/structs/rtree.js +++ b/src/ol/structs/rtree.js @@ -72,37 +72,6 @@ ol.structs.RTree = function(opt_maxWidth) { var that = this; // FIXME remove - /** - * Non-recursive function that deletes a specific region. - * - * @param {ol.Extent} extent Extent. - * @param {Object=} opt_obj Object. - * @return {Array} Result. - * @this {ol.structs.RTree} - */ - this.remove = function(extent, opt_obj) { - arguments[0] = /** @type {ol.structs.RTreeNode} */ ({extent: extent}); - switch (arguments.length) { - case 1: - arguments[1] = false; // opt_obj == false for conditionals - case 2: - arguments[2] = that.rootTree_; // Add root node to end of argument list - default: - arguments.length = 3; - } - if (arguments[1] === false) { // Do area-wide † - var numberDeleted = 0; - var result = []; - do { - numberDeleted = result.length; - result = result.concat(this.removeSubtree_.apply(this, arguments)); - } while (numberDeleted != result.length); - return result; - } else { // Delete a specific item - return this.removeSubtree_.apply(this, arguments); - } - }; - /** * Non-recursive insert function. * @@ -553,6 +522,38 @@ ol.structs.RTree.prototype.linearSplit_ = function(nodes) { }; +/** + * Non-recursive function that deletes a specific region. + * + * @param {ol.Extent} extent Extent. + * @param {Object=} opt_obj Object. + * @return {Array} Result. + * @this {ol.structs.RTree} + */ +ol.structs.RTree.prototype.remove = function(extent, opt_obj) { + arguments[0] = /** @type {ol.structs.RTreeNode} */ ({extent: extent}); + switch (arguments.length) { + case 1: + arguments[1] = false; // opt_obj == false for conditionals + case 2: + arguments[2] = this.rootTree_; // Add root node to end of argument list + default: + arguments.length = 3; + } + if (arguments[1] === false) { // Do area-wide † + var numberDeleted = 0; + var result = []; + do { + numberDeleted = result.length; + result = result.concat(this.removeSubtree_.apply(this, arguments)); + } while (numberDeleted != result.length); + return result; + } else { // Delete a specific item + return this.removeSubtree_.apply(this, arguments); + } +}; + + /** * Non-recursive search function *