UNPKG

@thi.ng/geom-accel

Version:

n-D spatial indexing data structures with a shared ES6 Map/Set-like API

39 lines 1.86 kB
import type { Fn, Nullable, Pair } from "@thi.ng/api"; import type { Heap } from "@thi.ng/heaps"; import type { ReadonlyVec, VecOpRoVV } from "@thi.ng/vectors"; import type { IRegionQuery, ISpatialMap } from "./api.js"; /** * Common base class for {@link SpatialGrid2} and {@link SpatialGrid3}. * * @internal */ export declare abstract class ASpatialGrid<K extends ReadonlyVec, V> implements IRegionQuery<K, V, number>, ISpatialMap<K, V> { protected _min: ReadonlyVec; protected _size: ReadonlyVec; protected _res: ReadonlyVec; protected _cells: Nullable<Pair<K, V>[]>[]; protected _num: number; protected _invSize: ReadonlyVec; protected _res1: ReadonlyVec; constructor(_min: ReadonlyVec, _size: ReadonlyVec, _res: ReadonlyVec); get size(): number; [Symbol.iterator](): IterableIterator<Pair<K, V>>; keys(): IterableIterator<K>; values(): IterableIterator<V>; copy(): ASpatialGrid<K, V>; abstract empty(): ASpatialGrid<K, V>; clear(): void; has(k: K, eps?: number): boolean; get(k: K, eps?: number): V | undefined; set(k: K, v: V, eps?: number): boolean; into(pairs: Iterable<Pair<K, V>>, eps?: number): boolean; remove(k: K): boolean; query(q: K, radius: number, limit?: number, acc?: Pair<K, V>[]): Pair<K, V>[]; queryKeys(q: K, radius: number, limit?: number, acc?: K[]): K[]; queryValues(q: K, radius: number, limit?: number, acc?: V[]): V[]; protected abstract doQuery<T>(fn: Fn<Pair<K, V>, T>, k: K, r: number, limit?: number, acc?: T[]): T[]; protected queryCell(dist: VecOpRoVV<number>, heap: Heap<[number, Nullable<Pair<K, V>>?]>, c: Pair<K, V>[], k: K, limit: number): void; protected find(k: K, eps: number): Pair<K, V> | undefined; protected abstract findIndex(k: ReadonlyVec): number; } //# sourceMappingURL=aspatial-grid.d.ts.map