import { MatN, VecN } from '@holotope/core'; export type SimplexOrientationChangeN = { readonly kind: 'embedded'; } | { readonly kind: 'full-dimensional'; readonly signedMeasureRatio: number; readonly state: 'preserved' | 'inverted' | 'collapsed'; }; /** Intrinsic affine deformation of one k-simplex embedded in RN. */ export interface SimplexMetricDeformationN { readonly ambientDimension: number; readonly simplexDimension: number; /** Rest edge Gram matrix `Dm^T Dm`. */ readonly restMetric: MatN; /** Current edge Gram matrix `Ds^T Ds`. */ readonly currentMetric: MatN; /** Current metric in the deterministic orthonormal rest-material basis. */ readonly rightCauchyGreen: MatN; /** `(rightCauchyGreen - I) / 2`. */ readonly greenLagrangeStrain: MatN; /** Square roots of the metric eigenvalues, in ascending order. */ readonly principalStretches: Float64Array; /** Intrinsic current/rest k-measure ratio. */ readonly measureRatio: number; /** Smallest/largest singular-value ratio of the rest edge matrix. */ readonly restConditioning: number; readonly strainFrobeniusNorm: number; /** Maximum absolute eigenpair residual for `rightCauchyGreen`. */ readonly spectralResidual: number; readonly orientationChange: SimplexOrientationChangeN; } /** * Evaluates intrinsic affine strain between matching rest/current simplices. * * The Cholesky material basis makes this valid for any `1 <= k <= N`, without * an ambient cross product or normal. Full-dimensional orientation is reported * separately through the signed determinant ratio. */ export declare function evaluateSimplexMetricDeformationN(restPositions: readonly VecN[], currentPositions: readonly VecN[]): SimplexMetricDeformationN; //# sourceMappingURL=simplex-deformation.d.ts.map