@downpourdigital/physics
Version:
Animation physics!
18 lines (17 loc) • 703 B
TypeScript
import EulerSimulationND from './EulerSimulationND';
import { SimulationNDProps, SimulationNDState } from './SimulationND';
export interface EulerSpringNDProps<V> extends SimulationNDProps<V> {
stiffness: number;
damping: number;
}
export default abstract class EulerSpringND<V> extends EulerSimulationND<V> {
protected target: Float32Array;
stiffness: number;
damping: number;
constructor({ stiffness, damping, ...rest }?: Partial<EulerSpringNDProps<V>>);
step(time: number): void;
protected computeForce(out: Float32Array, state: SimulationNDState): void;
protected checkResting(): boolean;
set(target: V): void;
resetTo(value: V): void;
}