@playcanvas/splat-transform
Version:
Library and CLI tool for 3D Gaussian splat format conversion and transformation
27 lines (26 loc) • 1.33 kB
TypeScript
import { SparseVoxelGrid } from './sparse-voxel-grid';
/**
* Compute the grid of voxels that are visited but not blocked
* (i.e. reachable empty voxels).
*
* @param visited - Grid of visited voxels (from BFS).
* @param blocked - Grid of blocked voxels (obstacles).
* @returns Grid containing only voxels that are visited AND not blocked.
*/
declare function computeEmptyGrid(visited: SparseVoxelGrid, blocked: SparseVoxelGrid): SparseVoxelGrid;
/**
* Compute the union of two sparse voxel grids (bitwise OR).
*
* @param a - First grid. By default a fresh clone is taken as the base;
* with `consumeA=true` it is mutated in place and returned, saving one
* full grid's worth of clone allocation.
* @param b - Second grid (OR'd into the result).
* @param consumeA - If true, `a` is mutated in place and returned. The
* caller must not subsequently read `a` as an independent value
* (the returned grid IS `a`).
* @param onProgress - Optional progress callback over `b.types` words.
* @returns Grid containing the union of both inputs. Equal to `a` when
* `consumeA=true`, otherwise a freshly cloned grid.
*/
declare function sparseOrGrids(a: SparseVoxelGrid, b: SparseVoxelGrid, consumeA?: boolean, onProgress?: (done: number, total: number) => void): SparseVoxelGrid;
export { computeEmptyGrid, sparseOrGrids };