UNPKG

@rwk/physics-math

Version:
34 lines 1.25 kB
/** * Frames—inertial and otherwise. * @packageDocumentation * @module Frame */ import { Rotation, Vector } from "./math-types"; import { Time, Transform, Velocity } from "./base"; export interface Frame { readonly name: string; isInertial(t: number | Time): boolean; transform(other: Frame): (t: number | Time) => Transform; } export interface InertialFrame extends Frame { isInertial(t: number | Time): true; } declare abstract class FrameImpl implements Frame { parent?: Frame; readonly name: string; protected offset: Vector; protected rotated: Rotation; isInertial(t: number | Time): boolean; transform(other: Frame): (t: (number | Time)) => Transform; protected constructor(name: string, parent: Frame | undefined, offset: Vector, rotated: Rotation); } export declare class InertialFrameImpl extends FrameImpl implements InertialFrame { isInertial(t: number | Time): true; constructor(name: string, parent?: Frame, offset?: Vector, rotated?: Rotation); } export declare class World { private parentFrame; createInertialFrame(offset: Vector, velocity: Velocity, angle: Rotation): InertialFrame; } export {}; //# sourceMappingURL=frame.d.ts.map