@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
94 lines • 2.47 kB
TypeScript
export const QT_NULL_POINTER: number;
/**
*
* NOTE: THIS CODE IS UNFINISHED, IT IS ONLY A SKETCH
* TODO finish implementation
*/
export class QuadTree {
/**
* Parameters allow us to set initial bounds to prevent early resizing
* @param {number} x0
* @param {number} y0
* @param {number} x1
* @param {number} y1
*/
constructor(x0?: number, y0?: number, x1?: number, y1?: number);
get root(): number;
/**
* Resize dimensions of the tree to tightly fit all inserted elements
*/
shrink(): void;
/**
*
* @param {number[]|Float32Array} output
*/
compute_tight_bounds(output: number[] | Float32Array): void;
/**
* Rebuild tree but keep all the data
*/
rebuild(): void;
/**
*
* @returns {number} ID of data in the tree
*/
element_allocate(): number;
/**
*
* @param {number} element
* @param {number} user_data
*/
element_set_user_data(element: number, user_data: number): void;
/**
*
* @param {number} element
* @return {number}
*/
element_get_user_data(element: number): number;
/**
*
* @param {number} element
* @param {number} x0
* @param {number} y0
* @param {number} x1
* @param {number} y1
*/
element_set_bounds_primitive(element: number, x0: number, y0: number, x1: number, y1: number): void;
/**
*
* @param {number} element
* @return {number} next element in the node
*/
element_get_next(element: number): number;
/**
*
* @param {number} x0
* @param {number} y0
* @param {number} x1
* @param {number} y1
*/
ensure_bounds(x0: number, y0: number, x1: number, y1: number): void;
/**
* Assumes element is allocated and is not present in the tree yet
* @param {number} element
*/
element_insert(element: number): void;
/**
*
* @param {number} node
* @param {number[]|Uint32Array} destination
* @param {number} destination_offset
* @return {number} number of elements read
*/
node_read_elements(node: number, destination: number[] | Uint32Array, destination_offset: number): number;
/**
*
* @param {number} datum_id ID of data in tree
*/
element_remove(datum_id: number): void;
/**
* Remove all data
*/
release_all(): void;
#private;
}
//# sourceMappingURL=QuadTree.d.ts.map