import { Mat4 } from "./mat4"; import { Quaternion } from "./quaternion"; import { ReadonlySimpleVector3, SimpleVector3 } from "./simple-vector3"; export declare type mat4type = number[]; /** * https://github.com/mrdoob/three.js/blob/dev/src/math/Matrix4.js * https://github.com/BennyQBD/3DEngineCpp/blob/master/src/core/math3d.h * https://glmatrix.net/docs/mat4.js.html * https://github.com/fynnfluegge/oreon-engine/blob/master/oreonengine/oe-core/src/main/java/org/oreon/core/math/Matrix4f.java * * 00 04 08 12 * 01 05 09 13 * 02 06 10 14 * 03 07 11 14 */ export declare class SimpleMat4 { readonly data: mat4type; constructor(data: mat4type); set(matrix: SimpleMat4): void; setItem(x: number, y: number, value: number): void; get(x: number, y: number): number; getTranslation(): SimpleVector3; getScale(): SimpleVector3; equalsArray(data: number[]): boolean; equals(mat: Mat4): boolean; static create(): SimpleMat4; static setIdentity(result: SimpleMat4): SimpleMat4; private static setTranslation; private static setScale; scale(x: number, y: number, z: number): this; /** * same as * ```typescript * Mat4.setIdentity(result); * Mat4.translate(scale.x, scale.y, scale.z, result.data); * ``` */ static fromTranslation(translation: SimpleVector3, result?: SimpleMat4): SimpleMat4; /** * same as * ```typescript * Mat4.setIdentity(result); * Mat4.setScale(scale.x, scale.y, scale.z, result.data); * // or * Mat4.setIdentity(result); * result.scale(scale.x, scale.y, scale.z, result.data); * ``` */ static fromScale(scale: SimpleVector3, result?: SimpleMat4): SimpleMat4; translate(x: number, y: number, z: number): this; /** * Same as * ```typescript * mat4.identity(dest); * mat4.translate(dest, vec); * const quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * mat4.scale(dest, scale) * ``` */ static fromRotationTranslationScale(rotation: Quaternion, translation: ReadonlySimpleVector3, scale: ReadonlySimpleVector3, result?: SimpleMat4): SimpleMat4; static from(param: { scale?: SimpleVector3 | [number, number, number]; translation?: SimpleVector3 | [number, number, number]; rotation?: Quaternion; angle?: number; axes?: number | SimpleVector3; rotX?: number; rotY?: number; rotZ?: number; }, result?: SimpleMat4): SimpleMat4; static fromQuaternion(v: Quaternion, result?: SimpleMat4): SimpleMat4; rotate(angle: number, axis: ReadonlySimpleVector3, res?: SimpleMat4): this; /** * Same as * ```typescript * mat4.identity(dest); * mat4.rotate(dest, dest, rad, axis); * ``` */ static fromRotation(rad: number, axis: SimpleVector3, result?: SimpleMat4): SimpleMat4 | null; private static staticSetAngleRotation; static fromXRotation(rad: number, result?: SimpleMat4): SimpleMat4; static fromYRotation(rad: number, result?: SimpleMat4): SimpleMat4; static fromZRotation(rad: number, result?: SimpleMat4): SimpleMat4; transformVector(a: SimpleVector3): SimpleVector3; getTransformedVector(a: ReadonlySimpleVector3): SimpleVector3; static multiply(matA: Mat4, matB: Mat4, result?: SimpleMat4): Mat4; } //# sourceMappingURL=simple-mat4.d.ts.map