@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
71 lines • 2.6 kB
TypeScript
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