import { Matrix4, Vector4 } from 'three'; import { type HyperplaneSlice4, type TransformN } from '@holotope/core'; /** * Writes a 4D rigid transform into GPU-native types: the SO(4) rotation is * a linear map on ℝ⁴, so it fits a mat4 exactly (no homogeneous trick * needed — this is the happy coincidence of the n=4 case), and the * translation is a plain vec4. * * MatN stores row-major; `Matrix4.set` takes row-major arguments, so the * data passes through unchanged into three's column-major storage. */ export declare function transformToGpuUniforms(transform: TransformN, outRotation: Matrix4, outTranslation: Vector4): void; /** * Writes a hyperplane's full orthonormal frame into one mat4: rows 0–2 are * the in-plane display basis, row 3 is the normal. `frame * p` then yields * the three slice-frame coordinates in xyz and the ⟨normal, p⟩ dot product * in w — one matrix multiply gives both the display position and the * signed distance (after subtracting the offset). */ export declare function sliceToGpuUniforms(slice: HyperplaneSlice4, outFrame: Matrix4): void; //# sourceMappingURL=convert.d.ts.map