| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import { mix } from '../util/common';
- import MatrixUtil from '../graphic/util/matrix';
- import Vector2 from '../graphic/util/vector2';
- var defaultMatrix = [1, 0, 0, 1, 0, 0];
- class Base {
- _initDefaultCfg() {}
- constructor(cfg) {
- this._initDefaultCfg();
- mix(this, cfg);
- var start;
- var end;
- if (this.plot) {
- start = this.plot.bl;
- end = this.plot.tr;
- this.start = start;
- this.end = end;
- } else {
- start = this.start;
- end = this.end;
- }
- this.init(start, end);
- }
- _scale(s1, s2) {
- var matrix = this.matrix;
- var center = this.center;
- MatrixUtil.translate(matrix, matrix, [center.x, center.y]);
- MatrixUtil.scale(matrix, matrix, [s1, s2]);
- MatrixUtil.translate(matrix, matrix, [-center.x, -center.y]);
- }
- init(start, end) {
- this.matrix = [].concat(defaultMatrix); // 设置中心点
- this.center = {
- x: (end.x - start.x) / 2 + start.x,
- y: (end.y - start.y) / 2 + start.y
- };
- if (this.scale) {
- this._scale(this.scale[0], this.scale[1]);
- }
- }
- convertPoint(point) {
- var {
- x,
- y
- } = this._convertPoint(point);
- if (!MatrixUtil.isChanged(this.matrix)) {
- return {
- x,
- y
- };
- }
- var vector = [x, y];
- Vector2.transformMat2d(vector, vector, this.matrix);
- return {
- x: vector[0],
- y: vector[1]
- };
- }
- invertPoint(point) {
- return this._invertPoint(point);
- }
- _convertPoint(point) {
- return point;
- }
- _invertPoint(point) {
- return point;
- }
- reset(plot) {
- this.plot = plot;
- var {
- bl,
- tr
- } = plot;
- this.start = bl;
- this.end = tr;
- this.init(bl, tr);
- }
- }
- export default Base;
|