Interface IMutableQuaternion

Mutable quaternion interface that extends IQuaternion with modification capabilities. Provides methods to modify quaternion components and perform in-place operations.

interface IMutableQuaternion {
    _v: Float32Array;
    className: string;
    w: number;
    x: number;
    y: number;
    z: number;
    add(quat: IQuaternion): IMutableQuaternion;
    at(i: number): number;
    axisAngle(vec: IVector3, radian: number): IMutableQuaternion;
    clone(): IMutableQuaternion;
    clone(): IMutableQuaternion;
    copyComponents(quat: IQuaternion): IMutableQuaternion;
    divideNumber(value: number): IMutableQuaternion;
    dot(vec: IQuaternion): number;
    flattenAsArray(): number[];
    fromMatrix(mat: IMatrix44): IMutableQuaternion;
    identity(): IMutableQuaternion;
    isDummy(): boolean;
    isEqual(vec: IQuaternion, delta?: number): boolean;
    isStrictEqual(vec: IQuaternion): boolean;
    length(): number;
    lengthSquared(): number;
    multiply(quat: IQuaternion): IMutableQuaternion;
    multiplyNumber(value: number): IMutableQuaternion;
    normalize(): IMutableQuaternion;
    raw(): TypedArray;
    setAt(i: number, value: number): IMutableQuaternion;
    setComponents(x: number, y: number, z: number, w: number): IMutableQuaternion;
    subtract(quat: IQuaternion): IMutableQuaternion;
    toEulerAngles(): IVector3;
    toEulerAnglesTo(out: IMutableVector3): IMutableVector3;
    toString(): string;
    toStringApproximately(): string;
    transformVector3(vec: IVector3): IVector3;
    transformVector3Inverse(vec: IVector3): IVector3;
    transformVector3To(vec: IVector3, out: IMutableVector3): IVector3;
}

Hierarchy (view full)

Implemented by

Properties

_v: Float32Array

Internal Float32Array storage for quaternion components

className: string

The class name identifier

w: number

The w component (real quaternion basis) - mutable

x: number

The x component (i quaternion basis) - mutable

y: number

The y component (j quaternion basis) - mutable

z: number

The z component (k quaternion basis) - mutable

Methods

  • Compares this quaternion with another quaternion for equality within a tolerance.

    Parameters

    • vec: IQuaternion

      The quaternion to compare with

    • Optionaldelta: number

      Optional tolerance value for comparison (default uses system epsilon)

    Returns boolean

    True if quaternions are equal within tolerance, false otherwise