UNPKG

@playcanvas/splat-transform

Version:

Library and CLI tool for 3D Gaussian splat format conversion and transformation

27 lines (26 loc) 1.33 kB
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 };