import { Box } from './Box'; import { Plane3D } from './Plane3D'; import { Quaternion } from './Quaternion'; import { Sphere } from './Sphere'; import { Vector3D } from './Vector3D'; export declare class Matrix3D { private static _identityData; private static _tempMatrix; /** * A reference to a Matrix3D to be used as a temporary data container, preventing object creation. */ static CALCULATION_MATRIX: Matrix3D; static getAxisRotationMatrix(x: number, y: number, z: number, degrees: number, target?: Matrix3D): Matrix3D; static getPointAtMatrix(pos: Vector3D, dir: Vector3D, up: Vector3D, target?: Matrix3D): Matrix3D; /** * Fills the 3d matrix with values representing the transformation made by the given quaternion. * * @param quarternion The quarterion object to convert. */ static getQuaternionMatrix(quarternion: Quaternion, target?: Matrix3D): Matrix3D; /** * Returns a boolean value representing whether there is any difference between the two given 3d matrices. */ static compare(m1: Matrix3D, m2: Matrix3D): boolean; /** * A Vector of 16 Numbers, where every four elements is a column of a 4x4 matrix. * *
An exception is thrown if the _rawData property is set to a matrix that is not invertible. The Matrix3D * object must be invertible. If a non-invertible matrix is needed, * create a subexport class of the Matrix3D object.
*/ _rawData: Float32Array; private _position; private _components; /** * [read-only] A number that determines whether a matrix is invertible. */ get determinant(): number; /** * A Vector3D object that holds the position, the 3D coordinate (x,y,z) of a display object within the * transformation's frame of reference. */ get position(): Vector3D; /** * Creates a Matrix3D object. */ constructor(rawData?: Float32Array); /** * Appends the matrix by multiplying another Matrix3D object by the current Matrix3D object. */ append(lhs: Matrix3D): void; /** * Appends an incremental rotation to a Matrix3D object. */ appendRotation(degrees: number, axis: Vector3D): void; /** * Appends an incremental skew change along the x, y, and z axes to a Matrix3D object. */ appendSkew(xSkew: number, ySkew: number, zSkew: number): void; /** * Appends an incremental scale change along the x, y, and z axes to a Matrix3D object. */ appendScale(xScale: number, yScale: number, zScale: number): void; /** *Appends an incremental translation, a repositioning along the x, y, and z axes, to a Matrix3D object. */ appendTranslation(x: number, y: number, z: number): void; /** * Returns a new Matrix3D object that is an exact copy of the current Matrix3D object. */ clone(): Matrix3D; /** * Copies a Vector3D object into specific column of the calling Matrix3D object. */ copyColumnFrom(column: number, vector3D: Vector3D): void; /** * Copies specific column of the calling Matrix3D object into the Vector3D object. */ copyColumnTo(column: number, vector3D: Vector3D, negate?: boolean): void; /** * Copies all of the matrix data from the source Matrix3D object into the calling Matrix3D object. */ copyFrom(source: Matrix3D, transpose?: boolean): void; /** * Copies this Matrix3D object into a destination Matrix3D object. */ copyTo(target: Matrix3D, transpose?: boolean): void; copyRawDataFrom(sourceData: Float32Array, offset?: number, transpose?: boolean): void; copyRawDataTo(targetData: Float32Array, offset?: number, transpose?: boolean): void; /** * Copies a Vector3D object into specific row of the calling Matrix3D object. */ copyRowFrom(row: number, vector3D: Vector3D): void; /** * Copies specific row of the calling Matrix3D object into the Vector3D object. */ copyRowTo(row: number, vector3D: Vector3D, negate?: boolean): void; private static COL_X; private static COL_Y; private static COL_Z; /** * Returns the transformation matrix's translation, rotation, and scale * settings as a Vector of three Vector3D objects. */ decompose(orientationStyle?: string): Vector3D[]; /** * Uses the transformation matrix without its translation elements to transform a Vector3D object from one space * coordinate to another. */ deltaTransformVector(v: Vector3D, t?: Vector3D): Vector3D; deltaTransformVectors(vin: Array