UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

71 lines 2.6 kB
import { TgdMat3 } from "./mat3"; import { TgdMat4 } from "./mat4"; import { TgdVec3 } from "./vec3"; import { TgdVec4 } from "./vec4"; import { ArrayNumber3 } from "../types"; /** * A string with three axes: * * the right axis * * the up axis * * the axis toward the camera. */ export type TgdQuatFace = keyof typeof FACES; export declare class TgdQuat extends TgdVec4 { static fromMatrix(mat: TgdMat3): TgdQuat; static fromFace(face: TgdQuatFace): TgdQuat; static fromSlerp(valueAtT0: TgdQuat, valueAtT1: TgdQuat, t: number): TgdQuat; constructor(); constructor(source: TgdQuat); constructor(source: TgdVec4); constructor(x: number); constructor(x: number, y: number); constructor(x: number, y: number, z: number); constructor(x: number, y: number, z: number, w: number); clone(): TgdQuat; multiply(q: TgdQuat): TgdQuat; fromSlerp(valueAtT0: TgdQuat, valueAtT1: TgdQuat, t: number): this; fromAxesTransposed([m00, m01, m02]: Readonly<TgdVec3 | ArrayNumber3>, [m10, m11, m12]: Readonly<TgdVec3 | ArrayNumber3>, [m20, m21, m22]: Readonly<TgdVec3 | ArrayNumber3>): this; fromAxes(X: Readonly<TgdVec3 | ArrayNumber3>, Y: Readonly<TgdVec3 | ArrayNumber3>, Z: Readonly<TgdVec3 | ArrayNumber3>): this; fromMatrix(mat: TgdMat3 | TgdMat4): this; rotateAround(axis: TgdVec3, angleInRadians: number): this; static rotateAroundX(angleInRadians: number): TgdQuat; rotateAroundX(angleInRadians: number): this; static rotateAroundY(angleInRadians: number): TgdQuat; rotateAroundY(angleInRadians: number): this; static rotateAroundZ(angleInRadians: number): TgdQuat; rotateAroundZ(angleInRadians: number): this; toAxisX(vec: TgdVec3 | TgdVec4): typeof vec; toAxisY(vec: TgdVec3 | TgdVec4): typeof vec; toAxisZ(vec: TgdVec3 | TgdVec4): typeof vec; toMatrix(mat: TgdMat3 | TgdMat4): typeof mat; invert(): this; face(face?: TgdQuatFace): this; } declare const FACES: { "-X-Y+Z": number[]; "-X-Z-Y": number[]; "-X+Y-Z": number[]; "-X+Z+Y": number[]; "-Y-X-Z": number[]; "-Y-Z+X": number[]; "-Y+X+Z": number[]; "-Y+Z-X": number[]; "-Z-X+Y": number[]; "-Z-Y-X": number[]; "-Z+X-Y": number[]; "-Z+Y+X": number[]; "+X-Y-Z": number[]; "+X-Z+Y": number[]; "+X+Y+Z": number[]; "+X+Z-Y": number[]; "+Y-X+Z": number[]; "+Y-Z-X": number[]; "+Y+X-Z": number[]; "+Y+Z+X": number[]; "+Z-X-Y": number[]; "+Z-Y+X": number[]; "+Z+X+Y": number[]; "+Z+Y-X": number[]; }; export {}; //# sourceMappingURL=quat.d.ts.map