rhodonite
    Preparing search index...

    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): Vector3;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    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

    • Gets the component value at the specified index.

      Parameters

      • i: number

        Index (0=x, 1=y, 2=z, 3=w)

      Returns number

      The component value at the given index

    • 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

    • Sets all four components of the quaternion.

      Parameters

      • x: number

        The x component value

      • y: number

        The y component value

      • z: number

        The z component value

      • w: number

        The w component value

      Returns IMutableQuaternion

      This quaternion for method chaining