rhodonite
    Preparing search index...

    Interface IMutableMatrix44

    Interface for mutable 4x4 matrices. Provides modifiable 4x4 matrix operations for complete 3D transformations.

    interface IMutableMatrix44 {
        _v: Float32Array;
        className: string;
        isIdentityMatrixClass: boolean;
        m00: number;
        m01: number;
        m02: number;
        m03: number;
        m10: number;
        m11: number;
        m12: number;
        m13: number;
        m20: number;
        m21: number;
        m22: number;
        m23: number;
        m30: number;
        m31: number;
        m32: number;
        m33: number;
        translateX: number;
        translateY: number;
        translateZ: number;
        _swap(l: number, r: number): void;
        addTranslate(vec: IVector3): IMutableMatrix44;
        at(row_i: number, column_i: number): number;
        clone(): IMutableMatrix44;
        copyComponents(mat: IMatrix44): IMutableMatrix44;
        determinant(): number;
        flattenAsArray(): number[];
        fromQuaternion(quat: IQuaternion): IMutableMatrix44;
        getRotate(): IMutableMatrix44;
        getScale(): IVector4;
        getScaleTo(outVec: IMutableVector3): IMutableVector3;
        getTranslate(): IVector3;
        getTranslateTo(outVec: IMutableVector3): IMutableVector3;
        identity(): IMutableMatrix44;
        invert(): IMutableMatrix44;
        isDummy(): boolean;
        isEqual(mat: IMatrix44, delta?: number): boolean;
        isStrictEqual(mat: IMatrix44): boolean;
        isTheSourceSame(arrayBuffer: ArrayBuffer): boolean;
        multiply(mat: IMatrix44): IMutableMatrix44;
        multiplyByLeft(mat: IMatrix44): IMutableMatrix44;
        multiplyScale(vec: IVector3): IMutableMatrix44;
        multiplyVector(vec: IVector4): IVector4;
        multiplyVector3(vec: IVector3): IVector3;
        multiplyVector3To(vec: IVector3, outVec: IMutableVector3): IMutableVector3;
        multiplyVectorTo(vec: IVector4, outVec: IMutableVector4): IMutableVector4;
        multiplyVectorToVec3(
            vec: IVector4,
            outVec: IMutableVector3,
        ): IMutableVector3;
        putTranslate(vec: IVector3): IMutableMatrix44;
        raw(): TypedArray;
        rotate(vec3: IVector3): IMutableMatrix44;
        rotateX(radian: number): IMutableMatrix44;
        rotateXYZ(x: number, y: number, z: number): IMutableMatrix44;
        rotateY(radian: number): IMutableMatrix44;
        rotateZ(radian: number): IMutableMatrix44;
        scale(vec: IVector3): IMutableMatrix44;
        setAt(row_i: number, column_i: number, value: number): IMutableMatrix44;
        setComponents(
            m00: number,
            m01: number,
            m02: number,
            m03: number,
            m10: number,
            m11: number,
            m12: number,
            m13: number,
            m20: number,
            m21: number,
            m22: number,
            m23: number,
            m30: number,
            m31: number,
            m32: number,
            m33: number,
        ): IMutableMatrix44;
        toEulerAngles(): IVector3;
        toEulerAnglesTo(outVec3: IMutableVector3): IMutableVector3;
        toString(): string;
        toStringApproximately(): string;
        translate(vec: IVector3): IMutableMatrix44;
        transpose(): IMutableMatrix44;
        v(i: number): number;
        zero(): IMutableMatrix44;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    _v: Float32Array

    Internal typed array storing matrix data in column-major order

    className: string

    Returns the class name of the matrix implementation

    isIdentityMatrixClass: boolean

    Indicates if this matrix is an identity matrix class

    m00: number

    Element at row 0, column 0

    m01: number

    Element at row 0, column 1

    m02: number

    Element at row 0, column 2

    m03: number

    Element at row 0, column 3

    m10: number

    Element at row 1, column 0

    m11: number

    Element at row 1, column 1

    m12: number

    Element at row 1, column 2

    m13: number

    Element at row 1, column 3

    m20: number

    Element at row 2, column 0

    m21: number

    Element at row 2, column 1

    m22: number

    Element at row 2, column 2

    m23: number

    Element at row 2, column 3

    m30: number

    Element at row 3, column 0

    m31: number

    Element at row 3, column 1

    m32: number

    Element at row 3, column 2

    m33: number

    Element at row 3, column 3

    translateX: number

    Translation component along X-axis (same as m03)

    translateY: number

    Translation component along Y-axis (same as m13)

    translateZ: number

    Translation component along Z-axis (same as m23)

    Methods

    • Swaps two elements in the internal array.

      Parameters

      • l: number

        Left index

      • r: number

        Right index

      Returns void

    • Gets the value at the specified row and column.

      Parameters

      • row_i: number

        Row index (0-based)

      • column_i: number

        Column index (0-based)

      Returns number

      Value at the specified position

    • Checks if this matrix is approximately equal to another matrix.

      Parameters

      • mat: IMatrix44

        Matrix to compare against

      • Optionaldelta: number

        Optional tolerance for comparison (default: small epsilon)

      Returns boolean

      True if matrices are approximately equal

    • Checks if the internal array buffer is the same as the provided one.

      Parameters

      • arrayBuffer: ArrayBuffer

        Array buffer to compare against

      Returns boolean

      True if the source is the same

    • Applies rotations around X, Y, and Z axes in that order.

      Parameters

      • x: number

        Rotation around X-axis in radians

      • y: number

        Rotation around Y-axis in radians

      • z: number

        Rotation around Z-axis in radians

      Returns IMutableMatrix44

      This matrix for method chaining

    • Sets the value at the specified row and column.

      Parameters

      • row_i: number

        Row index (0-based)

      • column_i: number

        Column index (0-based)

      • value: number

        Value to set

      Returns IMutableMatrix44

      This matrix for method chaining

    • Sets all matrix components from individual values.

      Parameters

      • m00: number

        Element at row 0, column 0

      • m01: number

        Element at row 0, column 1

      • m02: number

        Element at row 0, column 2

      • m03: number

        Element at row 0, column 3

      • m10: number

        Element at row 1, column 0

      • m11: number

        Element at row 1, column 1

      • m12: number

        Element at row 1, column 2

      • m13: number

        Element at row 1, column 3

      • m20: number

        Element at row 2, column 0

      • m21: number

        Element at row 2, column 1

      • m22: number

        Element at row 2, column 2

      • m23: number

        Element at row 2, column 3

      • m30: number

        Element at row 3, column 0

      • m31: number

        Element at row 3, column 1

      • m32: number

        Element at row 3, column 2

      • m33: number

        Element at row 3, column 3

      Returns IMutableMatrix44

      This matrix for method chaining

    • Gets the value at the specified linear index.

      Parameters

      • i: number

        Linear index in the internal array

      Returns number

      Value at the specified index