cartesian.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import Base from './base';
  2. class Cartesian extends Base {
  3. _initDefaultCfg() {
  4. this.type = 'cartesian';
  5. this.transposed = false;
  6. this.isRect = true;
  7. }
  8. init(start, end) {
  9. super.init(start, end);
  10. this.x = {
  11. start: start.x,
  12. end: end.x
  13. };
  14. this.y = {
  15. start: start.y,
  16. end: end.y
  17. };
  18. }
  19. _convertPoint(point) {
  20. var self = this;
  21. var transposed = self.transposed;
  22. var xDim = transposed ? 'y' : 'x';
  23. var yDim = transposed ? 'x' : 'y';
  24. var x = self.x;
  25. var y = self.y;
  26. return {
  27. x: x.start + (x.end - x.start) * point[xDim],
  28. y: y.start + (y.end - y.start) * point[yDim]
  29. };
  30. }
  31. _invertPoint(point) {
  32. var self = this;
  33. var transposed = self.transposed;
  34. var xDim = transposed ? 'y' : 'x';
  35. var yDim = transposed ? 'x' : 'y';
  36. var x = self.x;
  37. var y = self.y;
  38. var rst = {};
  39. rst[xDim] = (point.x - x.start) / (x.end - x.start);
  40. rst[yDim] = (point.y - y.start) / (y.end - y.start);
  41. return rst;
  42. }
  43. }
  44. Base.Cartesian = Cartesian;
  45. Base.Rect = Cartesian;
  46. export default Cartesian;