q43

2.1.0 • Public • Published

Q43

A Quadtree class for JS/ES

Install

npm i q43

API

Q43(ax, ay, bx, by, cap) ⇒ Q43

Create a Q43 instance

Kind: global function

Param Type Description
ax Number minimum X of the Q43 boundary
ay Number minimum Y of the Q43 boundary
bx Number maximum X of the Q43 boundary
by Number maximum Y of the Q43 boundary
cap Number The amount of points a Q43 instance can store.

containsX(px) ⇒ Boolean

Check if x is within the Q43's x-axis

Kind: global function

Param Type
px Number

containsY(py) ⇒ Boolean

Check if y is within the Q43's x-axis

Kind: global function

Param Type
py Number

containsPoint(px, py) ⇒ Boolean

Check if point is within the Q43's x-axis

Kind: global function

Param Type
px Number
py Number

subdivide()

Subdivide the Q43 into four equal parts.

Kind: global function

insert(pt) ⇒ Boolean

Insert a point to the Q43

Kind: global function

Param Type
pt Array

remove(pt) ⇒ Boolean

Remove a point from the Q43

Kind: global function

Param Type
pt Array

query(cond) ⇒ Array

Get all points from the Q43 given a condition

Kind: global function Returns: Array - - array of points

Param Type Description
cond function the filter function

all() ⇒ Array

Get all points from the Q43

Kind: global function Returns: Array - - array of points

queryBounds(ax, ay, bx, by, cond) ⇒ Array

Get all points from a Q43 that is within a given boundary and passes the condition

Kind: global function Returns: Array - - array of points

Param Type Description
ax Number minimum x of the given boundary
ay Number minimum y of the given boundary
bx Number maximum x of the given boundary
by Number maximum y of the given boundary
cond function a filter function, optional

queryRange(px, py, radius, cond) ⇒ Array

Gets all points within the radius of another point from the Q43

Kind: global function

Param Type Description
px Number
py Number
radius Number
cond function filter function, optional

for(handler)

Iterates all points in the Q43 and passes them to a handler function

Kind: global function

Param Type
handler function

forBounds(ax, ay, bx, by, handler)

Iterates all points in the Q43 that are within the bounds and passes them to a handler function. Kind: global function

Param Type
ax Number
ay Number
bx Number
by Number
handler function

forRange(px, py, radius, handler)

Iterates all points within the radius of another point in the Q43 and passes them to a handler.

Kind: global function

Param Type
px Number
py Number
radius Number
handler function

rebuild() ⇒ Q43

This is useful for rebuilding a quadtree whose points have updated coordinates.

Kind: global function

update()

Unlike the rebuild method, the update method does not restore subdivided empty Q43s.

Kind: global function

size() ⇒ Number

Calculates the amount of points a Q43 has.

Kind: global function

draw(ctx, tree, point)

For debugging purposes

Kind: global function

Param Type
ctx CanvasRenderingContext2D
tree Boolean
point Boolean

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i q43

      Weekly Downloads

      6

      Version

      2.1.0

      License

      MIT

      Unpacked Size

      96.1 kB

      Total Files

      11

      Last publish

      Collaborators

      • lxsmnsyc