Q43
A Quadtree class for JS/ES
Install
npm i q43
API
Q43
Q43(ax, ay, bx, by, cap) ⇒ 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. |
Boolean
containsX(px) ⇒ Check if x is within the Q43's x-axis
Kind: global function
Param | Type |
---|---|
px | Number |
Boolean
containsY(py) ⇒ Check if y is within the Q43's x-axis
Kind: global function
Param | Type |
---|---|
py | Number |
Boolean
containsPoint(px, py) ⇒ 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.
Boolean
insert(pt) ⇒ Insert a point to the Q43
Kind: global function
Param | Type |
---|---|
pt | Array |
Boolean
remove(pt) ⇒ Remove a point from the Q43
Kind: global function
Param | Type |
---|---|
pt | Array |
Array
query(cond) ⇒ 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 |
Array
all() ⇒ Get all points from the Q43
Kind: global function
Returns: Array
- - array of points
Array
queryBounds(ax, ay, bx, by, cond) ⇒ 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 |
Array
queryRange(px, py, radius, cond) ⇒ 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 |
Q43
rebuild() ⇒ This is useful for rebuilding a quadtree whose points have updated coordinates.
update()
Unlike the rebuild method, the update method does not restore subdivided empty Q43s.
Number
size() ⇒ Calculates the amount of points a Q43 has.
draw(ctx, tree, point)
For debugging purposes
Kind: global function
Param | Type |
---|---|
ctx | CanvasRenderingContext2D |
tree | Boolean |
point | Boolean |