@downpourdigital/physics
Version:
Animation physics!
29 lines (28 loc) • 974 B
TypeScript
import Stepper, { StepperProps } from '../Stepper';
import { VectorClass } from './Vector';
export declare type SimulationNDState = [x: Float32Array, v: Float32Array];
export interface SimulationNDProps<V> extends StepperProps {
value: V;
velocity: V;
vector: VectorClass;
mass: number;
restDelta: number;
}
export default abstract class SimulationND<V> extends Stepper {
private initial;
protected restDelta: number;
protected state: SimulationNDState;
protected v: VectorClass;
mass: number;
constructor({ value, velocity, vector, mass, restDelta, ...rest }?: Partial<SimulationNDProps<V>>);
protected computeForce(out: Float32Array, state: SimulationNDState): void;
protected checkResting(): boolean;
get(out: V): V;
read(): V;
getVelocity(out: V): void;
readVelocity(): V;
setVelocity(value: V): void;
reset(): void;
resetTo(value: V): void;
stop(): void;
}