@meta2d/core 1.0.79 → 1.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,7 @@ export declare function pointToLine(pt: Point, pt1: Point, pt2: Point, r?: numbe
24
24
  y: number;
25
25
  };
26
26
  export declare function getLineLength(pen: Pen): number;
27
+ export declare function createLineSvgPath(line: Pen): SVGGeometryElement;
27
28
  /**
28
29
  * 连线在 rect 内, 连线与 rect 相交
29
30
  */
@@ -40,3 +41,10 @@ export declare function isLineIntersectRectangle(pt1: Point, pt2: Point, rect: R
40
41
  * @param rect 矩形
41
42
  */
42
43
  export declare function isBezierIntersectRectangle(from: Point, to: Point, rect: Rect): boolean;
44
+ export declare function createSvgPath(path: SVGGeometryElement, from: Point, cp1: Point, cp2?: Point, to?: Point): SVGGeometryElement;
45
+ export declare function getLinePointPosAndAngle(path: SVGGeometryElement, distance: number): {
46
+ x: number;
47
+ y: number;
48
+ rotate: number;
49
+ progress: number;
50
+ };
@@ -255,6 +255,21 @@ export function getLineLength(pen) {
255
255
  pen.length = len;
256
256
  return len;
257
257
  }
258
+ export function createLineSvgPath(line) {
259
+ let path;
260
+ let from = null;
261
+ line.calculative.worldAnchors.forEach(pt => {
262
+ if (from) {
263
+ path = createSvgPath(path, from, from.next, pt.prev, pt);
264
+ }
265
+ from = pt;
266
+ });
267
+ if (line.close) {
268
+ let pt = line.calculative.worldAnchors[0];
269
+ path = createSvgPath(path, from, from.next, pt.prev, pt);
270
+ }
271
+ return path;
272
+ }
258
273
  /**
259
274
  * 连线在 rect 内, 连线与 rect 相交
260
275
  */
@@ -373,4 +388,40 @@ export function isBezierIntersectRectangle(from, to, rect) {
373
388
  }
374
389
  return false;
375
390
  }
391
+ export function createSvgPath(path, from, cp1, cp2, to) {
392
+ let d = '';
393
+ if (!path) {
394
+ d += `M${from.x} ${from.y} `;
395
+ path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
396
+ path.setAttribute('d', d);
397
+ }
398
+ d = path.getAttribute('d') || '';
399
+ if (cp1 && cp2) {
400
+ d += `C${cp1.x} ${cp1.y} ${cp2.x} ${cp2.y} ${to.x} ${to.y}`;
401
+ }
402
+ else if (cp1) {
403
+ d += `Q${cp1.x} ${cp1.y} ${to.x} ${to.y}`;
404
+ }
405
+ else {
406
+ d += `Q${cp2?.x || from.x} ${cp2?.y || from.y} ${to.x} ${to.y}`;
407
+ }
408
+ path.setAttribute('d', d);
409
+ return path;
410
+ }
411
+ // 获取线段的某个点的导数和位置
412
+ export function getLinePointPosAndAngle(path, distance) {
413
+ const totalLength = path.getTotalLength();
414
+ if (distance < 0 || distance > totalLength)
415
+ return null;
416
+ const delta = 0.01;
417
+ const point1 = path.getPointAtLength(distance);
418
+ const point2 = path.getPointAtLength(distance - delta);
419
+ const determinant = Math.atan2(point1.y - point2.y, point1.x - point2.x);
420
+ return {
421
+ x: point1.x,
422
+ y: point1.y,
423
+ rotate: determinant / Math.PI * 180,
424
+ progress: distance / totalLength
425
+ };
426
+ }
376
427
  //# sourceMappingURL=line.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/line.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/line.ts"],"names":[],"mappings":"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"}
@@ -45,13 +45,22 @@ export type WhiteSpace = 'nowrap' | 'pre-line' | 'break-all' | '';
45
45
  export type IValue = Pen & Partial<ChartData> & Partial<Record<'tag' | 'newId', string>> & {
46
46
  [key: string]: any;
47
47
  };
48
+ export interface TrackAnimate {
49
+ id: string;
50
+ offset: {
51
+ x: number;
52
+ y: number;
53
+ instance: number;
54
+ };
55
+ }
48
56
  export type Dropdown = string | IValue;
49
57
  export declare enum LineAnimateType {
50
58
  Normal = 0,// 水流
51
59
  Beads = 1,// 水珠流动
52
60
  Dot = 2,// 圆点
53
61
  Arrow = 3,// 箭头,
54
- WaterDrop = 4
62
+ WaterDrop = 4,// 水滴
63
+ Custom = 5
55
64
  }
56
65
  export interface ColorStop {
57
66
  i: number;
@@ -200,7 +209,13 @@ export interface Pen extends Rect {
200
209
  animateColor?: string;
201
210
  animateLineDash?: number[];
202
211
  animateReverse?: boolean;
212
+ animateTimingFunction?: string[] | string;
213
+ trackTargets?: TrackAnimate[];
203
214
  keepAnimateState?: boolean;
215
+ lineAnimateElement?: string;
216
+ lineAnimateDash?: number[] | string;
217
+ lineAnimateDashOffset?: number;
218
+ lineAnimateElementCount?: number;
204
219
  lineAnimateType?: LineAnimateType;
205
220
  animateName?: string;
206
221
  frames?: Pen[];
@@ -320,6 +335,7 @@ export interface Pen extends Rect {
320
335
  globalAlpha?: number;
321
336
  lineDash?: number[];
322
337
  lineDashOffset?: number;
338
+ length?: number;
323
339
  color?: string;
324
340
  background?: string;
325
341
  bkType?: number;
@@ -422,6 +438,7 @@ export interface Pen extends Rect {
422
438
  frameDuration?: number;
423
439
  animatePos?: number;
424
440
  cycleIndex?: number;
441
+ cycleStart?: number;
425
442
  pause?: number;
426
443
  layer?: number;
427
444
  canvas?: Canvas;
package/src/pen/model.js CHANGED
@@ -76,6 +76,7 @@ export var LineAnimateType;
76
76
  LineAnimateType[LineAnimateType["Dot"] = 2] = "Dot";
77
77
  LineAnimateType[LineAnimateType["Arrow"] = 3] = "Arrow";
78
78
  LineAnimateType[LineAnimateType["WaterDrop"] = 4] = "WaterDrop";
79
+ LineAnimateType[LineAnimateType["Custom"] = 5] = "Custom"; // 自定义动画
79
80
  })(LineAnimateType || (LineAnimateType = {}));
80
81
  /**
81
82
  * dom 类型的 图形
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
package/src/pen/render.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { CanvasLayer, LineAnimateType, LockState, } from './model';
2
- import { drawArrow, getLineRect, getSplitAnchor } from '../diagrams';
2
+ import { drawArrow, getLineRect, getSplitAnchor, getLinePointPosAndAngle, createSvgPath, getLineLength } from '../diagrams';
3
3
  import { Direction, inheritanceProps } from '../data';
4
4
  import { calcRotate, distance, facePoint, rotatePoint, scalePoint, translatePoint, TwoWay, } from '../point';
5
5
  import { calcCenter, calcRightBottom, calcRelativePoint, calcRelativeRect, rectInRect, scaleRect, translateRect, calcPivot, } from '../rect';
@@ -8,7 +8,7 @@ import { calcTextLines, calcTextDrawRect, calcTextRect } from './text';
8
8
  import { deepClone } from '../utils/clone';
9
9
  import { renderFromArrow, renderToArrow } from './arrow';
10
10
  import { Gradient, PenType } from '../pen';
11
- import { pSBC, rgba } from '../utils';
11
+ import { pSBC, rgba, cubicBezierY } from '../utils';
12
12
  /**
13
13
  * ancestor 是否是 pen 的祖先
14
14
  * @param pen 当前画笔
@@ -1751,6 +1751,15 @@ export function setCtxLineAnimate(ctx, pen, store) {
1751
1751
  ctx.fillStyle = pen.animateColor || store.styles.animateColor;
1752
1752
  ctx.lineWidth = 1;
1753
1753
  break;
1754
+ case LineAnimateType.Custom:
1755
+ if (pen.trackTargets && pen.trackTargets.length) {
1756
+ const trackPenOption = pen.trackTargets;
1757
+ setTrackAnimateOnPen(pen, trackPenOption);
1758
+ break;
1759
+ }
1760
+ const animateEle = pen.lineAnimateElement;
1761
+ setElementAnimateOnPen(ctx, pen, animateEle);
1762
+ break;
1754
1763
  default:
1755
1764
  if (pen.animateReverse) {
1756
1765
  ctx.lineDashOffset = Number.EPSILON; //防止在执行动画时会绘制多余的远点
@@ -1769,6 +1778,135 @@ export function setCtxLineAnimate(ctx, pen, store) {
1769
1778
  break;
1770
1779
  }
1771
1780
  }
1781
+ function setTrackAnimateOnPen(line, trackPenOption) {
1782
+ if (!Array.isArray(trackPenOption))
1783
+ return;
1784
+ const origin = line.calculative.canvas.store.data.origin;
1785
+ const scale = line.calculative.canvas.store.data.scale;
1786
+ trackPenOption.forEach(track => {
1787
+ const targetPen = line.calculative.canvas.store.pens[track.id];
1788
+ const meta2d = line.calculative.canvas.parent;
1789
+ if (!targetPen)
1790
+ return;
1791
+ const pos = calculateLineFrameStates(line, track.offset?.instance);
1792
+ if (!pos)
1793
+ return;
1794
+ const width = targetPen.width;
1795
+ const height = targetPen.height;
1796
+ const worldX = pos.x - width / 2;
1797
+ const worldY = pos.y - height / 2;
1798
+ const viewX = (worldX - origin.x) / scale;
1799
+ const viewY = (worldY - origin.y) / scale;
1800
+ const viewWidth = width / scale;
1801
+ const viewHeight = height / scale;
1802
+ const data = {
1803
+ x: viewX + (track.offset?.x || 0),
1804
+ y: viewY + (track.offset?.y || 0),
1805
+ width: viewWidth,
1806
+ height: viewHeight,
1807
+ rotate: pos.rotate,
1808
+ };
1809
+ meta2d.setValue({ id: targetPen.id, ...data });
1810
+ });
1811
+ }
1812
+ function setElementAnimateOnPen(ctx, line, element) {
1813
+ const draw = globalStore.lineAnimateDraws[element];
1814
+ if (!draw)
1815
+ return;
1816
+ renderElementOnLine(ctx, line, draw);
1817
+ }
1818
+ function renderElementOnLine(ctx, line, draw) {
1819
+ if (line.lineAnimateDash) {
1820
+ const dash = Array.isArray(line.lineAnimateDash) ? line.lineAnimateDash : line.lineAnimateDash.split(',').map(i => Number(i));
1821
+ const scale = line.calculative.canvas.store.data.scale;
1822
+ const len = getLineLength(line) / scale;
1823
+ const elesPos = computeLineDashSegments(len, dash, line.lineAnimateDashOffset, line.lineAnimateElementCount);
1824
+ elesPos.forEach((i, index) => {
1825
+ const pos = calculateLineFrameStates(line, i.start);
1826
+ // if(i.start < 1)return
1827
+ if (!pos)
1828
+ return;
1829
+ pos.index = i.start;
1830
+ pos.calculateLineFrameStates = calculateLineFrameStates;
1831
+ try {
1832
+ ctx.save();
1833
+ draw(ctx, line, pos, index);
1834
+ ctx.restore();
1835
+ }
1836
+ catch (e) {
1837
+ ctx.restore();
1838
+ console.warn(e);
1839
+ }
1840
+ });
1841
+ }
1842
+ }
1843
+ /**
1844
+ * 模拟 canvas lineDash 计算
1845
+ * @param lineLength 总长度
1846
+ * @param dashArray [dashLength, gapLength, ...]
1847
+ * @param offset 起点偏移,可为负数
1848
+ */
1849
+ function computeLineDashSegments(lineLength, dashArray, offset = 0, count, animateOffset = 0) {
1850
+ const result = [];
1851
+ if (!dashArray || dashArray.length === 0) {
1852
+ result.push({ start: 0, end: lineLength, isDash: true });
1853
+ return result;
1854
+ }
1855
+ const patternLength = dashArray.reduce((sum, val) => sum + val, 0);
1856
+ let pos = (-offset + animateOffset) % patternLength;
1857
+ if (pos < 0)
1858
+ pos += patternLength;
1859
+ let _count = 0;
1860
+ let globalPos = 0;
1861
+ if (!count)
1862
+ count = Infinity;
1863
+ while (globalPos < lineLength && _count < count) {
1864
+ for (let i = 0; i < dashArray.length; i++) {
1865
+ const segLength = dashArray[i];
1866
+ const isDash = i % 2 === 0;
1867
+ let start = globalPos;
1868
+ let end = globalPos + segLength - pos;
1869
+ if (end > lineLength)
1870
+ end = lineLength;
1871
+ if (isDash && end > start) {
1872
+ // 这里平移到动画偏移后的环上
1873
+ const shiftedStart = (start + animateOffset) % lineLength;
1874
+ const shiftedEnd = (end + animateOffset) % lineLength;
1875
+ result.push({ start: shiftedStart, end: shiftedEnd, isDash: true });
1876
+ _count += 1;
1877
+ }
1878
+ globalPos = end;
1879
+ pos = 0;
1880
+ if (globalPos >= lineLength || _count >= count)
1881
+ break;
1882
+ }
1883
+ }
1884
+ return result;
1885
+ }
1886
+ function calculateLineFrameStates(line, offsetInstance = 0) {
1887
+ let path;
1888
+ let from = null;
1889
+ line.calculative.worldAnchors.forEach(pt => {
1890
+ if (from) {
1891
+ path = createSvgPath(path, from, from.next, pt.prev, pt);
1892
+ }
1893
+ from = pt;
1894
+ });
1895
+ if (line.close) {
1896
+ let pt = line.calculative.worldAnchors[0];
1897
+ path = createSvgPath(path, from, from.next, pt.prev, pt);
1898
+ }
1899
+ let instance = 0;
1900
+ if (line.animateReverse) {
1901
+ // TODO 延迟有问题 出现卡顿瞬间移动
1902
+ instance = line.length - line.calculative.animatePos - (offsetInstance * line.calculative.canvas.store.data.scale);
1903
+ }
1904
+ else {
1905
+ instance = line.calculative.animatePos - offsetInstance * line.calculative.canvas.store.data.scale;
1906
+ }
1907
+ const pos = getLinePointPosAndAngle(path, instance);
1908
+ return pos;
1909
+ }
1772
1910
  /**
1773
1911
  * 全局 color
1774
1912
  */
@@ -2645,6 +2783,7 @@ function isLinear(value, key, pen) {
2645
2783
  export function setLineAnimate(pen, now) {
2646
2784
  if (pen.calculative.start === 0) {
2647
2785
  pen.calculative.start = undefined;
2786
+ pen.calculative.cycleStart = undefined;
2648
2787
  return 0;
2649
2788
  }
2650
2789
  if (!pen.animateCycle) {
@@ -2653,23 +2792,41 @@ export function setLineAnimate(pen, now) {
2653
2792
  if (!pen.animateSpan) {
2654
2793
  pen.animateSpan = 1;
2655
2794
  }
2656
- pen.calculative.animatePos +=
2657
- pen.animateSpan * (pen.calculative.canvas.store.data.scale || 1);
2795
+ const elapsed = (now - pen.calculative.cycleStart) / 1000; // 秒
2796
+ if (pen.animateTimingFunction && pen.duration) {
2797
+ const timeParams = Array.isArray(pen.animateTimingFunction) ?
2798
+ pen.animateTimingFunction :
2799
+ pen.animateTimingFunction.split(',');
2800
+ const duration = pen.duration;
2801
+ const t = elapsed / duration;
2802
+ const progress = cubicBezierY(t, timeParams[1], timeParams[3]);
2803
+ // 更新动画位置
2804
+ pen.calculative.animatePos = progress * pen.length;
2805
+ }
2806
+ else {
2807
+ pen.calculative.animatePos +=
2808
+ pen.animateSpan * (pen.calculative.canvas.store.data.scale || 1);
2809
+ }
2810
+ if (!pen.calculative.cycleStart) {
2811
+ pen.calculative.cycleStart = now;
2812
+ }
2658
2813
  if (!pen.calculative.start) {
2659
2814
  pen.calculative.start = Date.now();
2660
2815
  pen.calculative.animatePos =
2661
2816
  pen.animateSpan * (pen.calculative.canvas.store.data.scale || 1);
2662
2817
  pen.calculative.cycleIndex = 1;
2663
2818
  }
2664
- else if (pen.calculative.animatePos > pen.length) {
2819
+ else if (pen.calculative.animatePos > pen.length || elapsed > pen.duration) {
2665
2820
  // 播放到尾了
2666
2821
  ++pen.calculative.cycleIndex;
2667
2822
  // 播放结束
2668
2823
  if (pen.calculative.cycleIndex > pen.animateCycle) {
2669
2824
  pen.currentAnimation = undefined;
2670
2825
  pen.calculative.start = undefined;
2826
+ pen.calculative.cycleStart = undefined;
2671
2827
  return 0;
2672
2828
  }
2829
+ pen.calculative.cycleStart = undefined;
2673
2830
  pen.calculative.animatePos = pen.animateSpan;
2674
2831
  }
2675
2832
  return true;