The bounding rectangle of the region
The maximum number of objects allowed within this node before it must split
The maximum number of levels that the base quadtree is allowed
The depth of this node within the root Quadtree
The objects contained at this level of the tree
Children of this node
The root Quadtree
Static
INDICESA constant that enumerates the index order of the quadtree nodes from top-left to bottom-right.
Return an array of all the objects in the Quadtree (recursive)
Add a rectangle object to the tree
The object being inserted
The Quadtree nodes the object was added to.
Remove an existing object from the quadtree and re-insert it with a new position
The object being inserted
The Quadtree nodes the object was added to
Get all the objects which could collide with the provided rectangle
The normalized target rectangle
Optional
options: { Options affecting the collision test.
Function to further refine objects to return after a potential collision is found. Parameters are the object and rect, and the function should return true if the object should be added to the result set.
The existing result set, for internal use.
The objects in the Quadtree which represent potential collisions
Obtain the leaf nodes to which a target rectangle belongs. This traverses the quadtree recursively obtaining the final nodes which have no children.
The target rectangle.
The Quadtree nodes to which the target rectangle belongs
Obtain the child nodes within the current node which a rectangle belongs to. Note that this function is not recursive, it only returns nodes at the current or child level.
The target rectangle.
The Quadtree nodes to which the target rectangle belongs
Private
visualize
A Quadtree implementation that supports collision detection for rectangles.
Param: bounds
The outer bounds of the region
Param: options
Additional options which configure the Quadtree
Param: options.maxObjects
The maximum number of objects per node
Param: options.maxDepth
The maximum number of levels within the root Quadtree
Param: options._depth
The depth level of the sub-tree. For internal use
Param: options._root
The root of the quadtree. For internal use