math.d.ts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import type { quat, vec2 } from 'gl-matrix';
  2. import { mat3, mat4, vec3, vec4 } from 'gl-matrix';
  3. import { ParsedTransform } from '../css';
  4. import { DisplayObject } from '../display-objects';
  5. import { Tuple3Number } from '../types';
  6. export declare function copyVec3(a: Tuple3Number, b: Tuple3Number): Tuple3Number;
  7. export declare function subVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number;
  8. export declare function addVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number;
  9. export declare function scaleVec3(o: Tuple3Number, a: Tuple3Number, b: number): Tuple3Number;
  10. export declare function maxVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number;
  11. export declare function minVec3(o: Tuple3Number, a: Tuple3Number, b: Tuple3Number): Tuple3Number;
  12. export declare function getAngle(angle?: number): number;
  13. export declare function createVec3(x: number | vec2 | vec3 | vec4, y?: number, z?: number): vec3;
  14. export declare function deg2rad(deg: number): number;
  15. export declare function rad2deg(rad: number): number;
  16. export declare function grad2deg(grads: number): number;
  17. export declare function deg2turn(deg: number): number;
  18. export declare function turn2deg(turn: number): number;
  19. /**
  20. * decompose mat3
  21. * extract translation/scaling/rotation(in radians)
  22. *
  23. * gl-matrix didn't provide them for mat3, but we can
  24. * @see https://math.stackexchange.com/a/1463487
  25. * @see https://math.stackexchange.com/a/417813
  26. */
  27. export declare function getScaling(out: vec2, mat: mat3): vec2;
  28. export declare function getTranslation(out: vec2, mat: mat3): vec2;
  29. export declare function getRotationInRadians(mat: mat3): number;
  30. /**
  31. * @see https://github.com/toji/gl-matrix/issues/329
  32. * @see https://doc.babylonjs.com/divingDeeper/mesh/transforms/center_origin/rotation_conventions
  33. */
  34. export declare function getEuler(out: vec3, quat: quat | mat4): vec3;
  35. export declare function fromRotationTranslationScale(rotation: number, x: number, y: number, scaleX: number, scaleY: number): mat3;
  36. export declare function makePerspective(out: mat4, left: number, right: number, top: number, bottom: number, near: number, far: number): mat4;
  37. export declare function decompose(mat: mat3): number[];
  38. export declare function decomposeMat4(matrix: mat4, translation: vec3, scale: vec3, skew: vec3, perspective: vec4, quaternion: vec4): boolean;
  39. export declare function parsedTransformToMat4(transform: ParsedTransform[], object?: DisplayObject): mat4;
  40. //# sourceMappingURL=math.d.ts.map