UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

77 lines (76 loc) 3.47 kB
import type { DeepImmutable } from "../../types.js"; import type { IMatrixLike } from "../math.like.js"; /** @internal */ export declare class MatrixManagement { /** @internal */ static _UpdateFlagSeed: number; } /** * Marks the given matrix as dirty * @param matrix defines the matrix to mark as dirty */ export declare function MarkAsDirty(matrix: IMatrixLike): void; /** * Sets the given matrix to the identity matrix * @param result defines the target matrix */ export declare function IdentityMatrixToRef(result: IMatrixLike): void; /** * Creates a new translation matrix. * @param x defines the x coordinate * @param y defines the y coordinate * @param z defines the z coordinate * @param result defines the target matrix */ export declare function TranslationMatrixToRef(x: number, y: number, z: number, result: IMatrixLike): void; /** * Creates a new scaling matrix. * @param x defines the scale factor on X axis * @param y defines the scale factor on Y axis * @param z defines the scale factor on Z axis * @param result defines the target matrix */ export declare function ScalingMatrixToRef(x: number, y: number, z: number, result: IMatrixLike): void; /** * Multiplies two matrices and stores the result in the target array. * @param a defines the first matrix * @param b defines the second matrix * @param output defines the target array * @param offset defines the offset in the target array where to store the result (0 by default) */ export declare function MultiplyMatricesToArray(a: DeepImmutable<IMatrixLike>, b: DeepImmutable<IMatrixLike>, output: Float32Array | Array<number>, offset?: number): void; /** * Multiplies two matrices and stores the result in a third matrix. * @param a defines the first matrix * @param b defines the second matrix * @param result defines the target matrix * @param offset defines the offset in the target matrix where to store the result (0 by default) */ export declare function MultiplyMatricesToRef(a: DeepImmutable<IMatrixLike>, b: DeepImmutable<IMatrixLike>, result: IMatrixLike, offset?: number): void; /** * Populates the given matrix with the current matrix values * @param matrix defines the source matrix * @param target defines the target matrix */ export declare function CopyMatrixToRef(matrix: DeepImmutable<IMatrixLike>, target: IMatrixLike): void; /** * Populates the given array from the starting index with the current matrix values * @param matrix defines the source matrix * @param array defines the target array * @param offset defines the offset in the target array where to start storing values */ export declare function CopyMatrixToArray(matrix: DeepImmutable<IMatrixLike>, array: Float32Array | Array<number>, offset?: number): void; /** * Inverts the given matrix and stores the result in the target matrix * @param source defines the source matrix * @param target defines the target matrix * @returns true if the matrix was inverted successfully, false otherwise */ export declare function InvertMatrixToRef(source: DeepImmutable<IMatrixLike>, target: IMatrixLike): boolean; /** * Inverts the given matrix and stores the result in the target array * @param source defines the source matrix * @param target defines the target array * @returns true if the matrix was inverted successfully, false otherwise */ export declare function InvertMatrixToArray(source: DeepImmutable<IMatrixLike>, target: Float32Array | Array<number>): boolean;