Author:
- silflow
To create a new empty Quadtree, do this:
args = {
// mandatory fields
x : x coordinate
y : y coordinate
w : width
h : height
// optional fields
maxChildren : max children per node
maxDepth : max depth of the tree
};
var tree = QUAD.init(args);
tree.insert(item)
// or
tree.insert(items)
takes arrays or single items. every item must have a .x and .y property. if not, the tree will break. If your items have width and height, these should be .w and .h properties.
tree.retrieve(selector)
iterates all items that match the selector and returns them in an array. For example:
var selector = {
x : selection top left x coordinate,
y : selection top left y coordinate,
w : selection width
h : selection height
}
var items = tree.retrieve(selector);
NOTE: The result contains all items in quadtree-regions that are overlapping with the selector.
tree.clear()
removes all items from the quadtree.