UNPKG

@polyzone/core

Version:
49 lines (48 loc) 1.58 kB
import { Vector3 } from "./Vector3"; export declare class Quaternion { private _x; private _y; private _z; private _w; constructor(x: number, y: number, z: number, w: number); get x(): number; set x(value: number); get y(): number; set y(value: number); get z(): number; set z(value: number); get w(): number; set w(value: number); /** * Creates a quaternion from an axis and angle (in radians). * @param axis The axis of rotation. * @param angle The angle in radians. */ static fromAxisAngle(axis: Vector3, angle: number): Quaternion; /** * Creates a quaternion from Euler angles (in radians). * @param x Rotation around X axis in radians. * @param y Rotation around Y axis in radians. * @param z Rotation around Z axis in radians. */ static fromEuler(vector: Vector3): Quaternion; static fromEuler(x: number, y: number, z: number): Quaternion; static fromLookDirection(forward: Vector3, up: Vector3): Quaternion; /** * Convert the quaternion to Euler angles (in radians). */ toEuler(): Vector3; /** * Create a quaternion that represents no rotation. */ static identity(): Quaternion; clone(): Quaternion; multiply(q: Quaternion): Quaternion; multiplySelf(q: Quaternion): Quaternion; static slerp(left: Quaternion, right: Quaternion, t: number): Quaternion; conjugate(): Quaternion; normalize(): Quaternion; invert(): Quaternion; setValue(value: Quaternion): void; toString(): string; }