Interface: quadtree

syngen.utility.quadtree

Provides a quadtree interface for storing and querying objects in two-dimensional space.

Source:
See:
To Do:
  • Document private members

Methods

(static) create(optionsopt) → {syngen.utility.quadtree}

Instantiates a new quadtree.

Parameters:
Name Type Attributes Default Description
options Object <optional>
{}
Properties
Name Type Attributes Default Description
height Number <optional>
syngen.const.maxSafeFloat * 2

Range of values along the y-axis. Typically this is set programmatically.

maxItems Number <optional>
12

Number of items before the tree branches. This value is passed to child nodes.

width Number <optional>
syngen.const.maxSafeFloat * 2

Range of values along the y-axis. Typically this is set programmatically.

x Number <optional>
-syngen.const.maxSafeFloat

Lower bound for valeus along the x-axis. Typically this is set programmatically.

y Number <optional>
-syngen.const.maxSafeFloat

Lower bound for valeus along the y-axis. Typically this is set programmatically.

Source:
Returns:
Type
syngen.utility.quadtree

(static) from(itemsopt, optionsopt) → {syngen.utility.quadtree}

Instantiates a new quadtree with items and options.

Parameters:
Name Type Attributes Default Description
items Array.<Object> <optional>
[]
options Object <optional>
{}

See syngen.utility.quadree.create for a full reference.

Source:
Returns:
Type
syngen.utility.quadtree

clear()

Clears all nodes and items.

Source:

destroy()

Prepares the instance for garbage collection.

Source:

find(query, radiusopt) → {Object|undefined}

Finds the closest item to query within radius. If query is contained within the tree, then the next closest item is returned. If no result is found, then undefined is returned.

Parameters:
Name Type Attributes Default Description
query Object
Properties
Name Type Description
x Number
y Number
radius Number <optional>
Infinity
Source:
Returns:
Type
Object | undefined

insert(item)

Inserts item into the tree.

Parameters:
Name Type Description
item Object
Source:

intersects(rect) → {Boolean}

Returns whether this node intersects the rectangle rect.

Parameters:
Name Type Description
rect Object
Properties
Name Type Attributes Default Description
height Number <optional>
0
width Number <optional>
0
x Number <optional>
0
y Number <optional>
0
Source:
See:
To Do:
  • Define a rectangular prism utility or type
Returns:
Type
Boolean

remove(item)

Removes item from the tree, if it exists.

Parameters:
Name Type Description
item Object
Source:

retrieve(rect) → {Array.<Object>}

Retrieves all items within the rectangle rect.

Parameters:
Name Type Description
rect Object
Properties
Name Type Attributes Default Description
height Number <optional>
0
width Number <optional>
0
x Number <optional>
0
y Number <optional>
0
Source:
To Do:
  • Define a rectangular prism utility or type
Returns:
Type
Array.<Object>