import type { quat, vec2 } from 'gl-matrix'; import { mat3, mat4, vec3, vec4 } from 'gl-matrix'; import { ParsedTransform } from '../css'; import { DisplayObject } from '../display-objects'; import { Tuple3Number } from '../types'; export declare function copyVec3(a: Tuple3Number, b: Tuple3Number): Tuple3Number; export declare function subVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number; export declare function addVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number; export declare function scaleVec3(o: Tuple3Number, a: Tuple3Number, b: number): Tuple3Number; export declare function maxVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number; export declare function minVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number; export declare function getAngle(angle?: number): number; export declare function createVec3(x: number | vec2 | vec3 | vec4, y?: number, z?: number): vec3; export declare function deg2rad(deg: number): number; export declare function rad2deg(rad: number): number; export declare function grad2deg(grads: number): number; export declare function deg2turn(deg: number): number; export declare function turn2deg(turn: number): number; /** * decompose mat3 * extract translation/scaling/rotation(in radians) * * gl-matrix didn't provide them for mat3, but we can * @see https://math.stackexchange.com/a/1463487 * @see https://math.stackexchange.com/a/417813 */ export declare function getScaling(out: vec2, mat: mat3): vec2; export declare function getTranslation(out: vec2, mat: mat3): vec2; export declare function getRotationInRadians(mat: mat3): number; /** * @see https://github.com/toji/gl-matrix/issues/329 * @see https://doc.babylonjs.com/divingDeeper/mesh/transforms/center_origin/rotation_conventions */ export declare function getEuler(out: vec3, quat: quat | mat4): vec3; export declare function fromRotationTranslationScale(rotation: number, x: number, y: number, scaleX: number, scaleY: number): mat3; export declare function makePerspective(out: mat4, left: number, right: number, top: number, bottom: number, near: number, far: number): mat4; export declare function decompose(mat: mat3): number[]; export declare function decomposeMat4(matrix: mat4, translation: vec3, scale: vec3, skew: vec3, perspective: vec4, quaternion: vec4): boolean; export declare function parsedTransformToMat4(transform: ParsedTransform[], object?: DisplayObject): mat4; //# sourceMappingURL=math.d.ts.map