coordinate.d.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { Options, Transformation, Vector2, Vector } from './type';
  2. export declare class Coordinate {
  3. private output;
  4. private input;
  5. private options;
  6. private transformers;
  7. /**
  8. * Create a new Coordinate Object.
  9. * @param options Custom options
  10. */
  11. constructor(options?: Partial<Options>);
  12. /**
  13. * Update options and inner state.
  14. * @param options Options to be updated
  15. */
  16. update(options: Partial<Options>): void;
  17. /**
  18. * Returns a new Coordinate with same options.
  19. * @returns Coordinate
  20. */
  21. clone(): Coordinate;
  22. /**
  23. * Returns current options.
  24. * @returns options
  25. */
  26. getOptions(): Options;
  27. /**
  28. * Clear transformations and update.
  29. */
  30. clear(): void;
  31. /**
  32. * Returns the size of the bounding box of the coordinate.
  33. * @returns [width, height]
  34. */
  35. getSize(): [number, number];
  36. /**
  37. * Returns the center of the bounding box of the coordinate.
  38. * @returns [centerX, centerY]
  39. */
  40. getCenter(): [number, number];
  41. /**
  42. * Add selected transformation.
  43. * @param args transform type and params
  44. * @returns Coordinate
  45. */
  46. transform(...args: Transformation): this;
  47. /**
  48. * Apples transformations for the current vector.
  49. * @param vector original vector2
  50. * @returns transformed vector2
  51. */
  52. map(vector: Vector2 | Vector): Vector2 | Vector;
  53. /**
  54. * Apples invert transformations for the current vector.
  55. * @param vector transformed vector2
  56. * @param vector original vector2
  57. */
  58. invert(vector: Vector2 | Vector): Vector2 | Vector;
  59. private recoordinate;
  60. private compose;
  61. private createMatrixTransform;
  62. }