Interface IMatrix44

Interface for immutable 4x4 matrices. Provides specific operations for 3D transformations including translation.

interface IMatrix44 {
    _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;
    at(row_i: number, column_i: number): number;
    clone(): IMatrix44;
    determinant(): number;
    flattenAsArray(): number[];
    getRotate(): IMatrix44;
    getScale(): IVector3;
    getTranslate(): IVector3;
    isDummy(): boolean;
    isTheSourceSame(arrayBuffer: ArrayBuffer): boolean;
    multiplyVector(vec: IVector4): IVector4;
    multiplyVector3(vec: IVector3): IVector3;
    toString(): string;
    toStringApproximately(): string;
    v(i: number): number;
}

Hierarchy (view full)

Implemented by

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

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

  • Gets the value at the specified linear index.

    Parameters

    • i: number

      Linear index in the internal array

    Returns number

    Value at the specified index