A subclass of Quadtree specifically intended for classifying the location of objects on the game canvas.

Hierarchy (view full)

Properties

bounds: Rectangle

The bounding rectangle of the region

maxObjects: number

The maximum number of objects allowed within this node before it must split

maxDepth: number

The maximum number of levels that the base quadtree is allowed

depth: number

The depth of this node within the root Quadtree

objects: QuadtreeObject[]

The objects contained at this level of the tree

nodes: Quadtree[]

Children of this node

root: Quadtree

The root Quadtree

INDICES: {
    tl: number;
    tr: number;
    bl: number;
    br: number;
} = ...

A constant that enumerates the index order of the quadtree nodes from top-left to bottom-right.

Type declaration

  • tl: number
  • tr: number
  • bl: number
  • br: number

Accessors

  • get all(): QuadtreeObject[]
  • Return an array of all the objects in the Quadtree (recursive)

    Returns QuadtreeObject[]

Methods

  • Remove an object from the quadtree

    Parameters

    • target: any

      The quadtree target being removed

    Returns Quadtree

    The Quadtree for method chaining

  • Remove an existing object from the quadtree and re-insert it with a new position

    Parameters

    Returns Quadtree[]

    The Quadtree nodes the object was added to

  • Get all the objects which could collide with the provided rectangle

    Parameters

    • rect: Rectangle

      The normalized target rectangle

    • Optional options: {
          collisionTest: Function;
          _s: Set<any>;
      } = {}

      Options affecting the collision test.

      • collisionTest: Function

        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.

      • _s: Set<any>

        The existing result set, for internal use.

    Returns Set<any>

    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.

    Parameters

    • rect: Rectangle

      The target rectangle.

    Returns Quadtree[]

    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.

    Parameters

    • rect: Rectangle

      The target rectangle.

    Returns Quadtree[]

    The Quadtree nodes to which the target rectangle belongs