import { TransformN } from '../math/transform.js'; import { VecN } from '../math/vecn.js'; import type { CellComplex } from './cell-complex.js'; /** Signed source-space or transformed-space limits along one unit direction. */ export interface CellComplexDirectionalBoundsN { /** Smallest signed vertex projection onto the normalized direction. */ readonly min: number; /** Largest signed vertex projection onto the normalized direction. */ readonly max: number; } /** * Projects every vertex of a cell complex onto a direction and returns the * closed interval containing those projections. * * The direction is normalized internally, so `min` and `max` are signed * distances in the same units as the source positions. For a normalized * `HyperplaneSlice4.normal`, this is exactly the offset interval over which * the convex hull can have a non-empty section. An optional transform makes * the interval describe the current world-space body rather than its authored * source pose. * * This is a vertex-hull bound. A disconnected or non-convex complex can have * empty sections inside the interval; the function never claims otherwise. */ export declare function cellComplexBoundsAlongDirectionN(complex: CellComplex, direction: VecN | ArrayLike, transform?: TransformN): CellComplexDirectionalBoundsN; /** Axis-aligned specialization of `cellComplexBoundsAlongDirectionN`. */ export declare function cellComplexBoundsAlongAxisN(complex: CellComplex, axis: number, transform?: TransformN): CellComplexDirectionalBoundsN; //# sourceMappingURL=cell-complex-bounds.d.ts.map