import { CellComplex, type CellGroup } from '@holotope/core'; import { SimplexConstitutiveFamilyN, type SimplexConstitutiveFamilyElementContextN, type SimplexConstitutiveFamilyElementEvaluationN, type SimplexConstitutiveFamilyElementN, type SimplexConstitutiveFamilyEvaluationN, type SimplexConstitutiveFamilyHessianBlockN, type SimplexConstitutiveFamilyHessianVectorEvaluationN, type SimplexConstitutiveFamilyMaterialN } from './simplex-constitutive-family.js'; import { type SimplexStVenantKirchhoffEvaluationN, type SimplexStVenantKirchhoffMaterialN } from './simplex-stvk-material.js'; import { type XpbdConservativeHessianBlockN, type XpbdConservativeHessianBlockProviderN, type XpbdConservativeHessianVectorEvaluationN, type XpbdConservativeHessianVectorProviderN, type XpbdParticleDirectionQueryN } from './xpbd-incremental-potential-analytic-curvature.js'; import { XpbdParticleN, XpbdWorldN, type XpbdConservativeForceProviderN, type XpbdParticlePositionQueryN } from './xpbd-world.js'; export interface SimplexStVenantKirchhoffFamilyElementContextN extends SimplexConstitutiveFamilyElementContextN { } export type SimplexStVenantKirchhoffFamilyMaterialN = SimplexConstitutiveFamilyMaterialN; export interface CompileSimplexStVenantKirchhoffFamilyNOptions { readonly id: string; readonly source: CellComplex; readonly simplexGroup: CellGroup; /** One live particle per source vertex, in source-vertex order. */ readonly particles: readonly XpbdParticleN[]; readonly material: SimplexStVenantKirchhoffFamilyMaterialN; } export interface SimplexStVenantKirchhoffFamilyElementN extends SimplexConstitutiveFamilyElementN { } export interface SimplexStVenantKirchhoffFamilyElementEvaluationN extends SimplexConstitutiveFamilyElementEvaluationN { } export interface SimplexStVenantKirchhoffFamilyEvaluationN extends SimplexConstitutiveFamilyEvaluationN { } /** Exact assembled StVK potential curvature in family particle order. */ export interface SimplexStVenantKirchhoffFamilyHessianVectorEvaluationN extends SimplexConstitutiveFamilyHessianVectorEvaluationN { /** Stable StVK law identity retained by the compatibility wrapper. */ readonly lawId: string; } /** Compatibility wrapper for the source-identified StVK constitutive family. */ export declare class SimplexStVenantKirchhoffFamilyN implements XpbdConservativeForceProviderN, XpbdConservativeHessianVectorProviderN, XpbdConservativeHessianBlockProviderN { readonly constitutiveFamily: SimplexConstitutiveFamilyN; readonly id: string; readonly dimension: number; readonly source: CellComplex; readonly sourceSimplexGroup: CellGroup; readonly particles: readonly XpbdParticleN[]; readonly elements: readonly SimplexStVenantKirchhoffFamilyElementN[]; readonly potentialHessianBlocks: readonly SimplexConstitutiveFamilyHessianBlockN[]; private attachedWorld; private constructor(); static compile(options: CompileSimplexStVenantKirchhoffFamilyNOptions): SimplexStVenantKirchhoffFamilyN; evaluate(): SimplexStVenantKirchhoffFamilyEvaluationN; evaluateAt(positionOf: XpbdParticlePositionQueryN): SimplexStVenantKirchhoffFamilyEvaluationN; /** Evaluates exact StVK potential curvature without mutating live particles. */ evaluatePotentialHessianVectorAt(positionOf: XpbdParticlePositionQueryN, directionOf: XpbdParticleDirectionQueryN): SimplexStVenantKirchhoffFamilyHessianVectorEvaluationN; /** Evaluates one exact source-simplex StVK Hessian block. */ evaluatePotentialHessianBlockVectorAt(block: XpbdConservativeHessianBlockN, positionOf: XpbdParticlePositionQueryN, directionOf: XpbdParticleDirectionQueryN): XpbdConservativeHessianVectorEvaluationN; /** Registers this compatibility provider; particles must already belong to the world. */ addToWorld(world: XpbdWorldN): XpbdWorldN; } /** Compiles one explicitly selected source simplex family into StVK elements. */ export declare function compileSimplexStVenantKirchhoffFamilyN(options: CompileSimplexStVenantKirchhoffFamilyNOptions): SimplexStVenantKirchhoffFamilyN; //# sourceMappingURL=simplex-stvk-family.d.ts.map