rhodonite
    Preparing search index...

    Interface IMutableMatrix33

    Interface for mutable 3x3 matrices. Provides modifiable 3x3 matrix operations for 3D transformations without translation.

    interface IMutableMatrix33 {
        m00: number;
        m01: number;
        m02: number;
        m10: number;
        m11: number;
        m12: number;
        m20: number;
        m21: number;
        m22: number;
        _swap(l: number, r: number): void;
        at(row_i: number, column_i: number): number;
        clone(): IMutableMatrix33;
        copyComponents(mat: IMatrix33 | IMatrix44): IMutableMatrix33;
        determinant(): number;
        flattenAsArray(): number[];
        getScale(): IVector3;
        getScaleTo(outVec: IMutableVector3): IMutableVector3;
        identity(): IMutableMatrix33;
        invert(): IMutableMatrix33;
        isDummy(): boolean;
        isEqual(mat: IMatrix33, delta?: number): boolean;
        isStrictEqual(mat: IMatrix33): boolean;
        multiply(mat: IMatrix33): IMutableMatrix33;
        multiplyByLeft(mat: IMatrix33): IMutableMatrix33;
        multiplyScale(vec: IVector3): IMutableMatrix33;
        multiplyVector(vec: IVector3): IVector3;
        multiplyVectorTo(vec: IVector3, outVec: IMutableVector3): IMutableVector3;
        raw(): TypedArray;
        rotate(vec3: IVector3): IMutableMatrix33;
        rotateX(radian: number): IMutableMatrix33;
        rotateXYZ(x: number, y: number, z: number): IMutableMatrix33;
        rotateY(radian: number): IMutableMatrix33;
        rotateZ(radian: number): IMutableMatrix33;
        scale(vec: IVector3): IMutableMatrix33;
        setAt(row_i: number, column_i: number, value: number): IMutableMatrix33;
        setComponents(
            m00: number,
            m01: number,
            m02: number,
            m10: number,
            m11: number,
            m12: number,
            m20: number,
            m21: number,
            m22: number,
        ): IMutableMatrix33;
        toString(): string;
        toStringApproximately(): string;
        transpose(): IMutableMatrix33;
        zero(): IMutableMatrix33;
    }

    Implemented by

    Index

    Properties

    m00: number

    Element at row 0, column 0

    m01: number

    Element at row 0, column 1

    m02: number

    Element at row 0, column 2

    m10: number

    Element at row 1, column 0

    m11: number

    Element at row 1, column 1

    m12: number

    Element at row 1, column 2

    m20: number

    Element at row 2, column 0

    m21: number

    Element at row 2, column 1

    m22: number

    Element at row 2, column 2

    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

    • Flattens the matrix into a plain JavaScript array.

      Returns number[]

      Array containing all matrix elements

    • Checks if this is a dummy/placeholder matrix.

      Returns boolean

      True if this is a dummy matrix

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

      Parameters

      • mat: IMatrix33

        Matrix to compare against

      • Optionaldelta: number

        Optional tolerance for comparison (default: small epsilon)

      Returns boolean

      True if matrices are approximately equal

    • 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 IMutableMatrix33

      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 IMutableMatrix33

      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

      • m10: number

        Element at row 1, column 0

      • m11: number

        Element at row 1, column 1

      • m12: number

        Element at row 1, column 2

      • m20: number

        Element at row 2, column 0

      • m21: number

        Element at row 2, column 1

      • m22: number

        Element at row 2, column 2

      Returns IMutableMatrix33

      This matrix for method chaining

    • Converts the matrix to a string representation.

      Returns string

      String representation of the matrix

    • Converts the matrix to an approximate string representation.

      Returns string

      Approximate string representation with rounded values