Header menu logo Nu

Quadtree Module

Types

Type Description

Quadtree<'e>

A spatial structure that organizes elements on a 2d plane.

Functions and values

Function or value Description

Quadtree.addElement presence presenceInPlay bounds element tree

Full Usage: Quadtree.addElement presence presenceInPlay bounds element tree

Parameters:

Add an element with the given presence and bounds to the tree.

presence : Presence
presenceInPlay : Presence
bounds : Box2
element : Quadelement<'a>
tree : Quadtree<'a>

Quadtree.clear tree

Full Usage: Quadtree.clear tree

Parameters:

Clear the contents of the tree.

tree : Quadtree<'a>

Quadtree.getBounds tree

Full Usage: Quadtree.getBounds tree

Parameters:
Returns: Box2

Get the bounds of the tree.

tree : Quadtree<'a>
Returns: Box2

Quadtree.getDepth tree

Full Usage: Quadtree.getDepth tree

Parameters:
Returns: int

Get the depth of the tree.

tree : Quadtree<'a>
Returns: int

Quadtree.getElements set tree

Full Usage: Quadtree.getElements set tree

Parameters:

Get all of the elements in a tree.

set : HashSet<Quadelement<'a>>
tree : Quadtree<'a>

Quadtree.getElementsAtPoint point set tree

Full Usage: Quadtree.getElementsAtPoint point set tree

Parameters:

Get all of the elements in a tree that are in a node intersected by the given point.

point : Vector2
set : HashSet<Quadelement<'a>>
tree : Quadtree<'a>

Quadtree.getElementsInBounds bounds set tree

Full Usage: Quadtree.getElementsInBounds bounds set tree

Parameters:

Get all of the elements in a tree that are in a node intersected by the given bounds.

bounds : Box2
set : HashSet<Quadelement<'a>>
tree : Quadtree<'a>

Quadtree.getElementsInPlay bounds set tree

Full Usage: Quadtree.getElementsInPlay bounds set tree

Parameters:

Get all of the elements in a tree that are in a node intersected by the given bounds.

bounds : Box2
set : HashSet<Quadelement<'a>>
tree : Quadtree<'a>

Quadtree.getElementsInView bounds set tree

Full Usage: Quadtree.getElementsInView bounds set tree

Parameters:

Get all of the elements in a tree that are in a node intersected by the given bounds.

bounds : Box2
set : HashSet<Quadelement<'a>>
tree : Quadtree<'a>

Quadtree.getLeafSize tree

Full Usage: Quadtree.getLeafSize tree

Parameters:
Returns: Vector2

Get the size of the tree's leaves.

tree : Quadtree<'a>
Returns: Vector2

Quadtree.make depth size

Full Usage: Quadtree.make depth size

Parameters:
Returns: Quadtree<'e>

Create a Quadtree with the given depth and overall size. Size dimensions must be a power of two.

depth : int
size : Vector2
Returns: Quadtree<'e>

Quadtree.removeElement presence presenceInPlay bounds element tree

Full Usage: Quadtree.removeElement presence presenceInPlay bounds element tree

Parameters:

Remove an element with the given presence and bounds from the tree.

presence : Presence
presenceInPlay : Presence
bounds : Box2
element : Quadelement<'a>
tree : Quadtree<'a>

Quadtree.sweep tree

Full Usage: Quadtree.sweep tree

Parameters:

Remove all unused non-root nodes in the tree.

tree : Quadtree<'a>

Quadtree.updateElement presenceOld presenceInPlayOld boundsOld presenceNew presenceInPlayNew boundsNew element tree

Full Usage: Quadtree.updateElement presenceOld presenceInPlayOld boundsOld presenceNew presenceInPlayNew boundsNew element tree

Parameters:

Update an existing element in the tree.

presenceOld : Presence
presenceInPlayOld : Presence
boundsOld : Box2
presenceNew : Presence
presenceInPlayNew : Presence
boundsNew : Box2
element : Quadelement<'a>
tree : Quadtree<'a>

Type something to start searching.