q43
v2.1.0
Published
A Quadtree class for JS/ES
Downloads
7
Maintainers
Readme
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 |