cartesian.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
  2. var Base = require('./base');
  3. var Cartesian =
  4. /*#__PURE__*/
  5. function (_Base) {
  6. _inheritsLoose(Cartesian, _Base);
  7. function Cartesian() {
  8. return _Base.apply(this, arguments) || this;
  9. }
  10. var _proto = Cartesian.prototype;
  11. _proto._initDefaultCfg = function _initDefaultCfg() {
  12. this.type = 'cartesian';
  13. this.transposed = false;
  14. this.isRect = true;
  15. };
  16. _proto.init = function init(start, end) {
  17. this.x = {
  18. start: start.x,
  19. end: end.x
  20. };
  21. this.y = {
  22. start: start.y,
  23. end: end.y
  24. };
  25. };
  26. _proto.convertPoint = function convertPoint(point) {
  27. var self = this;
  28. var transposed = self.transposed;
  29. var xDim = transposed ? 'y' : 'x';
  30. var yDim = transposed ? 'x' : 'y';
  31. var x = self.x;
  32. var y = self.y;
  33. return {
  34. x: x.start + (x.end - x.start) * point[xDim],
  35. y: y.start + (y.end - y.start) * point[yDim]
  36. };
  37. };
  38. _proto.invertPoint = function invertPoint(point) {
  39. var self = this;
  40. var transposed = self.transposed;
  41. var xDim = transposed ? 'y' : 'x';
  42. var yDim = transposed ? 'x' : 'y';
  43. var x = self.x;
  44. var y = self.y;
  45. var rst = {};
  46. rst[xDim] = (point.x - x.start) / (x.end - x.start);
  47. rst[yDim] = (point.y - y.start) / (y.end - y.start);
  48. return rst;
  49. };
  50. return Cartesian;
  51. }(Base);
  52. Base.Cartesian = Cartesian;
  53. Base.Rect = Cartesian;
  54. module.exports = Cartesian;