@meta2d/core 1.0.56 → 1.0.58

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.
Files changed (299) hide show
  1. package/{index.ts → index.d.ts} +9 -9
  2. package/index.js +10 -0
  3. package/index.js.map +1 -0
  4. package/package.json +38 -39
  5. package/src/canvas/canvas.d.ts +456 -0
  6. package/src/canvas/canvas.js +7584 -0
  7. package/src/canvas/canvas.js.map +1 -0
  8. package/src/canvas/canvasImage.d.ts +27 -0
  9. package/src/canvas/canvasImage.js +441 -0
  10. package/src/canvas/canvasImage.js.map +1 -0
  11. package/src/canvas/canvasTemplate.d.ts +18 -0
  12. package/src/canvas/canvasTemplate.js +209 -0
  13. package/src/canvas/canvasTemplate.js.map +1 -0
  14. package/src/canvas/{index.ts → index.d.ts} +2 -2
  15. package/src/canvas/index.js +3 -0
  16. package/src/canvas/index.js.map +1 -0
  17. package/src/canvas/magnifierCanvas.d.ts +19 -0
  18. package/src/canvas/magnifierCanvas.js +102 -0
  19. package/src/canvas/magnifierCanvas.js.map +1 -0
  20. package/src/canvas/offscreen.d.ts +1 -0
  21. package/src/canvas/offscreen.js +14 -0
  22. package/src/canvas/offscreen.js.map +1 -0
  23. package/src/core.d.ts +479 -0
  24. package/src/core.js +4609 -0
  25. package/src/core.js.map +1 -0
  26. package/src/data.d.ts +34 -0
  27. package/src/data.js +85 -0
  28. package/src/data.js.map +1 -0
  29. package/src/diagrams/arrow.d.ts +4 -0
  30. package/src/diagrams/arrow.js +47 -0
  31. package/src/diagrams/arrow.js.map +1 -0
  32. package/src/diagrams/circle.d.ts +2 -0
  33. package/src/diagrams/circle.js +9 -0
  34. package/src/diagrams/circle.js.map +1 -0
  35. package/src/diagrams/cloud.d.ts +2 -0
  36. package/src/diagrams/cloud.js +12 -0
  37. package/src/diagrams/cloud.js.map +1 -0
  38. package/src/diagrams/cube.d.ts +2 -0
  39. package/src/diagrams/cube.js +68 -0
  40. package/src/diagrams/cube.js.map +1 -0
  41. package/src/diagrams/diamond.d.ts +2 -0
  42. package/src/diagrams/diamond.js +13 -0
  43. package/src/diagrams/diamond.js.map +1 -0
  44. package/src/diagrams/file.d.ts +2 -0
  45. package/src/diagrams/file.js +18 -0
  46. package/src/diagrams/file.js.map +1 -0
  47. package/src/diagrams/gif.d.ts +5 -0
  48. package/src/diagrams/gif.js +89 -0
  49. package/src/diagrams/gif.js.map +1 -0
  50. package/src/diagrams/hexagon.d.ts +2 -0
  51. package/src/diagrams/{hexagon.ts → hexagon.js} +55 -60
  52. package/src/diagrams/hexagon.js.map +1 -0
  53. package/src/diagrams/iframe.d.ts +2 -0
  54. package/src/diagrams/iframe.js +338 -0
  55. package/src/diagrams/iframe.js.map +1 -0
  56. package/src/diagrams/index.d.ts +71 -0
  57. package/src/diagrams/{index.ts → index.js} +77 -79
  58. package/src/diagrams/index.js.map +1 -0
  59. package/src/diagrams/line/arrow.d.ts +2 -0
  60. package/src/diagrams/line/arrow.js +128 -0
  61. package/src/diagrams/line/arrow.js.map +1 -0
  62. package/src/diagrams/line/curve.d.ts +16 -0
  63. package/src/diagrams/line/curve.js +227 -0
  64. package/src/diagrams/line/curve.js.map +1 -0
  65. package/src/diagrams/line/{index.ts → index.d.ts} +5 -5
  66. package/src/diagrams/line/index.js +6 -0
  67. package/src/diagrams/line/index.js.map +1 -0
  68. package/src/diagrams/line/line.d.ts +42 -0
  69. package/src/diagrams/line/line.js +375 -0
  70. package/src/diagrams/line/line.js.map +1 -0
  71. package/src/diagrams/line/polyline.d.ts +10 -0
  72. package/src/diagrams/line/polyline.js +627 -0
  73. package/src/diagrams/line/polyline.js.map +1 -0
  74. package/src/diagrams/line/smooth.d.ts +3 -0
  75. package/src/diagrams/line/smooth.js +136 -0
  76. package/src/diagrams/line/smooth.js.map +1 -0
  77. package/src/diagrams/message.d.ts +2 -0
  78. package/src/diagrams/message.js +15 -0
  79. package/src/diagrams/message.js.map +1 -0
  80. package/src/diagrams/mindLine.d.ts +3 -0
  81. package/src/diagrams/mindLine.js +30 -0
  82. package/src/diagrams/mindLine.js.map +1 -0
  83. package/src/diagrams/mindNode.d.ts +3 -0
  84. package/src/diagrams/mindNode.js +161 -0
  85. package/src/diagrams/mindNode.js.map +1 -0
  86. package/src/diagrams/panel.d.ts +2 -0
  87. package/src/diagrams/panel.js +131 -0
  88. package/src/diagrams/panel.js.map +1 -0
  89. package/src/diagrams/pentagon.d.ts +3 -0
  90. package/src/diagrams/pentagon.js +45 -0
  91. package/src/diagrams/pentagon.js.map +1 -0
  92. package/src/diagrams/pentagram.d.ts +3 -0
  93. package/src/diagrams/pentagram.js +51 -0
  94. package/src/diagrams/pentagram.js.map +1 -0
  95. package/src/diagrams/people.d.ts +2 -0
  96. package/src/diagrams/people.js +19 -0
  97. package/src/diagrams/people.js.map +1 -0
  98. package/src/diagrams/rectangle.d.ts +3 -0
  99. package/src/diagrams/rectangle.js +27 -0
  100. package/src/diagrams/rectangle.js.map +1 -0
  101. package/src/diagrams/svg/parse.d.ts +15 -0
  102. package/src/diagrams/svg/parse.js +279 -0
  103. package/src/diagrams/svg/parse.js.map +1 -0
  104. package/src/diagrams/svgPath.d.ts +2 -0
  105. package/src/diagrams/svgPath.js +29 -0
  106. package/src/diagrams/svgPath.js.map +1 -0
  107. package/src/diagrams/triangle.d.ts +3 -0
  108. package/src/diagrams/triangle.js +40 -0
  109. package/src/diagrams/triangle.js.map +1 -0
  110. package/src/diagrams/video.d.ts +5 -0
  111. package/src/diagrams/video.js +184 -0
  112. package/src/diagrams/video.js.map +1 -0
  113. package/src/dialog/dialog.d.ts +21 -0
  114. package/src/dialog/dialog.js +157 -0
  115. package/src/dialog/dialog.js.map +1 -0
  116. package/src/dialog/{index.ts → index.d.ts} +1 -1
  117. package/src/dialog/index.js +2 -0
  118. package/src/dialog/index.js.map +1 -0
  119. package/src/event/event.d.ts +102 -0
  120. package/src/event/event.js +22 -0
  121. package/src/event/event.js.map +1 -0
  122. package/src/event/{index.ts → index.d.ts} +1 -1
  123. package/src/event/index.js +2 -0
  124. package/src/event/index.js.map +1 -0
  125. package/src/map/{index.ts → index.d.ts} +1 -1
  126. package/src/map/index.js +2 -0
  127. package/src/map/index.js.map +1 -0
  128. package/src/map/map.d.ts +21 -0
  129. package/src/map/map.js +212 -0
  130. package/src/map/map.js.map +1 -0
  131. package/src/options.d.ts +130 -0
  132. package/src/options.js +80 -0
  133. package/src/options.js.map +1 -0
  134. package/src/pen/arrow.d.ts +4 -0
  135. package/src/pen/arrow.js +188 -0
  136. package/src/pen/arrow.js.map +1 -0
  137. package/src/pen/{index.ts → index.d.ts} +6 -6
  138. package/src/pen/index.js +7 -0
  139. package/src/pen/index.js.map +1 -0
  140. package/src/pen/math.d.ts +28 -0
  141. package/src/pen/math.js +213 -0
  142. package/src/pen/math.js.map +1 -0
  143. package/src/pen/model.d.ts +514 -0
  144. package/src/pen/model.js +210 -0
  145. package/src/pen/model.js.map +1 -0
  146. package/src/pen/plugin.d.ts +5 -0
  147. package/src/pen/plugin.js +58 -0
  148. package/src/pen/plugin.js.map +1 -0
  149. package/src/pen/render.d.ts +146 -0
  150. package/src/pen/render.js +3234 -0
  151. package/src/pen/render.js.map +1 -0
  152. package/src/pen/text.d.ts +8 -0
  153. package/src/pen/text.js +314 -0
  154. package/src/pen/text.js.map +1 -0
  155. package/src/pen/utils.d.ts +2 -0
  156. package/src/pen/utils.js +19 -0
  157. package/src/pen/utils.js.map +1 -0
  158. package/src/point/{index.ts → index.d.ts} +1 -1
  159. package/src/point/index.js +2 -0
  160. package/src/point/index.js.map +1 -0
  161. package/src/point/point.d.ts +65 -0
  162. package/src/point/point.js +178 -0
  163. package/src/point/point.js.map +1 -0
  164. package/src/rect/{index.ts → index.d.ts} +1 -1
  165. package/src/rect/index.js +2 -0
  166. package/src/rect/index.js.map +1 -0
  167. package/src/rect/rect.d.ts +52 -0
  168. package/src/rect/rect.js +427 -0
  169. package/src/rect/rect.js.map +1 -0
  170. package/src/rect/triangle.d.ts +2 -0
  171. package/src/rect/triangle.js +10 -0
  172. package/src/rect/triangle.js.map +1 -0
  173. package/src/scroll/{index.ts → index.d.ts} +1 -1
  174. package/src/scroll/index.js +2 -0
  175. package/src/scroll/index.js.map +1 -0
  176. package/src/scroll/scroll.d.ts +35 -0
  177. package/src/scroll/scroll.js +234 -0
  178. package/src/scroll/scroll.js.map +1 -0
  179. package/src/store/global.d.ts +25 -0
  180. package/src/store/global.js +18 -0
  181. package/src/store/global.js.map +1 -0
  182. package/src/store/{index.ts → index.d.ts} +2 -2
  183. package/src/store/index.js +3 -0
  184. package/src/store/index.js.map +1 -0
  185. package/src/store/store.d.ts +228 -0
  186. package/src/store/store.js +87 -0
  187. package/src/store/store.js.map +1 -0
  188. package/src/theme.d.ts +13 -0
  189. package/src/theme.js +23 -0
  190. package/src/theme.js.map +1 -0
  191. package/src/title/{index.ts → index.d.ts} +1 -1
  192. package/src/title/index.js +2 -0
  193. package/src/title/index.js.map +1 -0
  194. package/src/title/title.d.ts +30 -0
  195. package/src/title/title.js +99 -0
  196. package/src/title/title.js.map +1 -0
  197. package/src/tooltip/{index.ts → index.d.ts} +1 -1
  198. package/src/tooltip/index.js +2 -0
  199. package/src/tooltip/index.js.map +1 -0
  200. package/src/tooltip/tooltip.d.ts +40 -0
  201. package/src/tooltip/tooltip.js +172 -0
  202. package/src/tooltip/tooltip.js.map +1 -0
  203. package/src/utils/clone.d.ts +8 -0
  204. package/src/utils/clone.js +84 -0
  205. package/src/utils/clone.js.map +1 -0
  206. package/src/utils/color.d.ts +3 -0
  207. package/src/utils/color.js +110 -0
  208. package/src/utils/color.js.map +1 -0
  209. package/src/utils/error.d.ts +2 -0
  210. package/src/utils/error.js +6 -0
  211. package/src/utils/error.js.map +1 -0
  212. package/src/utils/file.d.ts +3 -0
  213. package/src/utils/file.js +40 -0
  214. package/src/utils/file.js.map +1 -0
  215. package/src/utils/{index.ts → index.d.ts} +9 -9
  216. package/src/utils/index.js +10 -0
  217. package/src/utils/index.js.map +1 -0
  218. package/src/utils/math.d.ts +18 -0
  219. package/src/utils/math.js +114 -0
  220. package/src/utils/math.js.map +1 -0
  221. package/src/utils/object.d.ts +2 -0
  222. package/src/utils/object.js +21 -0
  223. package/src/utils/object.js.map +1 -0
  224. package/src/utils/padding.d.ts +7 -0
  225. package/src/utils/padding.js +47 -0
  226. package/src/utils/padding.js.map +1 -0
  227. package/src/utils/time.d.ts +1 -0
  228. package/src/utils/time.js +17 -0
  229. package/src/utils/time.js.map +1 -0
  230. package/src/utils/url.d.ts +4 -0
  231. package/src/utils/url.js +27 -0
  232. package/src/utils/url.js.map +1 -0
  233. package/src/utils/uuid.d.ts +4 -0
  234. package/src/utils/uuid.js +13 -0
  235. package/src/utils/uuid.js.map +1 -0
  236. package/README.md +0 -13
  237. package/package.build.json +0 -39
  238. package/src/canvas/canvas.ts +0 -8639
  239. package/src/canvas/canvasImage.ts +0 -525
  240. package/src/canvas/canvasTemplate.ts +0 -257
  241. package/src/canvas/magnifierCanvas.ts +0 -142
  242. package/src/canvas/offscreen.ts +0 -14
  243. package/src/core.ts +0 -5128
  244. package/src/data.ts +0 -86
  245. package/src/diagrams/arrow.ts +0 -50
  246. package/src/diagrams/circle.ts +0 -19
  247. package/src/diagrams/cloud.ts +0 -34
  248. package/src/diagrams/cube.ts +0 -94
  249. package/src/diagrams/diamond.ts +0 -14
  250. package/src/diagrams/file.ts +0 -19
  251. package/src/diagrams/gif.ts +0 -105
  252. package/src/diagrams/iframe.ts +0 -365
  253. package/src/diagrams/line/arrow.ts +0 -175
  254. package/src/diagrams/line/curve.ts +0 -260
  255. package/src/diagrams/line/line.ts +0 -409
  256. package/src/diagrams/line/polyline.ts +0 -676
  257. package/src/diagrams/line/smooth.ts +0 -133
  258. package/src/diagrams/message.ts +0 -17
  259. package/src/diagrams/mindLine.ts +0 -31
  260. package/src/diagrams/mindNode.ts +0 -177
  261. package/src/diagrams/panel.ts +0 -149
  262. package/src/diagrams/pentagon.ts +0 -48
  263. package/src/diagrams/pentagram.ts +0 -63
  264. package/src/diagrams/people.ts +0 -23
  265. package/src/diagrams/rectangle.ts +0 -29
  266. package/src/diagrams/svg/parse.ts +0 -319
  267. package/src/diagrams/svgPath.ts +0 -53
  268. package/src/diagrams/triangle.ts +0 -43
  269. package/src/diagrams/video.ts +0 -202
  270. package/src/dialog/dialog.ts +0 -177
  271. package/src/event/event.ts +0 -142
  272. package/src/map/map.ts +0 -239
  273. package/src/options.ts +0 -205
  274. package/src/pen/arrow.ts +0 -259
  275. package/src/pen/math.ts +0 -253
  276. package/src/pen/model.ts +0 -785
  277. package/src/pen/plugin.ts +0 -57
  278. package/src/pen/render.ts +0 -3725
  279. package/src/pen/text.ts +0 -341
  280. package/src/pen/utils.ts +0 -21
  281. package/src/point/point.ts +0 -232
  282. package/src/rect/rect.ts +0 -507
  283. package/src/rect/triangle.ts +0 -16
  284. package/src/scroll/scroll.ts +0 -277
  285. package/src/store/global.ts +0 -38
  286. package/src/store/store.ts +0 -293
  287. package/src/theme.ts +0 -35
  288. package/src/title/title.ts +0 -115
  289. package/src/tooltip/tooltip.ts +0 -199
  290. package/src/utils/clone.ts +0 -79
  291. package/src/utils/color.ts +0 -126
  292. package/src/utils/error.ts +0 -7
  293. package/src/utils/file.ts +0 -46
  294. package/src/utils/math.ts +0 -120
  295. package/src/utils/object.ts +0 -23
  296. package/src/utils/padding.ts +0 -48
  297. package/src/utils/time.ts +0 -25
  298. package/src/utils/url.ts +0 -30
  299. package/src/utils/uuid.ts +0 -15
@@ -0,0 +1,627 @@
1
+ import { Direction } from '../../data';
2
+ import { deleteTempAnchor, facePen, getFromAnchor, getToAnchor, } from '../../pen';
3
+ import { s8 } from '../../utils';
4
+ let faceSpace = 10;
5
+ export function polyline(store, pen, mousedwon) {
6
+ if (!pen.calculative.worldAnchors) {
7
+ pen.calculative.worldAnchors = [];
8
+ }
9
+ faceSpace = store.options.polylineSpace || 10;
10
+ if (pen.calculative.worldAnchors.length < 2) {
11
+ return;
12
+ }
13
+ let from = getFromAnchor(pen);
14
+ let to = getToAnchor(pen);
15
+ if (!from || !to) {
16
+ return;
17
+ }
18
+ // 拖拽起点
19
+ let dragFrom;
20
+ if (pen.anchors?.length && from === pen.calculative.activeAnchor) {
21
+ dragFrom = true;
22
+ from = to;
23
+ to = getFromAnchor(pen);
24
+ }
25
+ else if ((!pen.anchors || !pen.anchors.length) &&
26
+ from !== pen.calculative.activeAnchor) {
27
+ from = pen.calculative.activeAnchor;
28
+ }
29
+ if (!from || !to) {
30
+ return;
31
+ }
32
+ from.next = undefined;
33
+ to.prev = undefined;
34
+ const connected = to.connectTo;
35
+ deleteTempAnchor(pen);
36
+ const pts = [];
37
+ const fromPen = store.pens[from.connectTo];
38
+ const toPen = store.pens[to.connectTo];
39
+ const fromFace = facePen(from, fromPen);
40
+ const toFace = facePen(to, toPen);
41
+ let a = getFacePoint(from, fromFace, faceSpace);
42
+ if (a) {
43
+ from = a;
44
+ pts.push(a);
45
+ }
46
+ a = getFacePoint(to, toFace, faceSpace);
47
+ const end = to;
48
+ let corner = undefined;
49
+ if (a) {
50
+ to = a;
51
+ if (end.connectTo) {
52
+ if ((a.y > end.y && from.y < end.y) || (a.y < end.y && from.y > end.y)) {
53
+ //拐角 防止连线覆盖
54
+ corner = a;
55
+ let _faceSpace = faceSpace;
56
+ if (from.x < a.x) {
57
+ _faceSpace = -_faceSpace;
58
+ }
59
+ if (Math.abs(from.x - a.x) < _faceSpace) {
60
+ _faceSpace = -_faceSpace;
61
+ }
62
+ const point = { x: a.x + _faceSpace, y: a.y, id: s8() };
63
+ to = point;
64
+ }
65
+ }
66
+ }
67
+ switch (fromFace) {
68
+ case Direction.Up:
69
+ pts.push(...getNextPointsOfUp(from, to, toFace));
70
+ break;
71
+ case Direction.Right:
72
+ pts.push(...getNextPointsOfRight(from, to, toFace));
73
+ break;
74
+ case Direction.Bottom:
75
+ pts.push(...getNextPointsOfBottom(from, to, toFace));
76
+ break;
77
+ case Direction.Left:
78
+ pts.push(...getNextPointsOfLeft(from, to, toFace));
79
+ break;
80
+ default:
81
+ pts.push(...getNextPoints(pen, from, to));
82
+ break;
83
+ }
84
+ pts.forEach((anchor) => {
85
+ anchor.id = s8();
86
+ anchor.penId = pen.id;
87
+ pen.calculative.worldAnchors.push(anchor);
88
+ });
89
+ pen.calculative.worldAnchors.push(to);
90
+ if (corner) {
91
+ pen.calculative.worldAnchors.push(corner);
92
+ }
93
+ if (a) {
94
+ pen.calculative.worldAnchors.push(end);
95
+ }
96
+ if (dragFrom) {
97
+ pen.calculative.worldAnchors.reverse();
98
+ }
99
+ if (connected) {
100
+ const i = pen.calculative.worldAnchors.length - 2;
101
+ pen.calculative.worldAnchors[i].isTemp = false;
102
+ pen.calculative.worldAnchors[1].isTemp = false;
103
+ }
104
+ }
105
+ function getFacePoint(pt, d, dis) {
106
+ const point = { x: pt.x, y: pt.y, id: s8() };
107
+ switch (d) {
108
+ case Direction.Up:
109
+ point.y -= dis;
110
+ break;
111
+ case Direction.Right:
112
+ point.x += dis;
113
+ break;
114
+ case Direction.Bottom:
115
+ point.y += dis;
116
+ break;
117
+ case Direction.Left:
118
+ point.x -= dis;
119
+ break;
120
+ default: {
121
+ return;
122
+ }
123
+ }
124
+ return point;
125
+ }
126
+ function getNextPointsOfUp(from, to, toFace) {
127
+ if (from.x === to.x || from.y === to.y) {
128
+ return [];
129
+ }
130
+ const pts = [];
131
+ let x;
132
+ let y;
133
+ switch (toFace) {
134
+ case Direction.Up:
135
+ if (from.y < to.y) {
136
+ x = to.x;
137
+ y = from.y;
138
+ }
139
+ else {
140
+ x = from.x;
141
+ y = to.y;
142
+ }
143
+ pts.push({ x, y });
144
+ break;
145
+ case Direction.Bottom:
146
+ x = to.x;
147
+ y = from.y;
148
+ if (to.y > from.y) {
149
+ x = from.x + (to.x - from.x) / 2;
150
+ pts.push({ x, y: from.y }, { x, y: to.y });
151
+ }
152
+ else {
153
+ const centerY = (from.y + to.y) / 2;
154
+ pts.push({ x: from.x, y: centerY }, { x: to.x, y: centerY });
155
+ }
156
+ break;
157
+ case Direction.Right:
158
+ x = to.x;
159
+ y = from.y;
160
+ if (to.x < from.x && to.y < from.y) {
161
+ x = from.x;
162
+ y = to.y;
163
+ }
164
+ pts.push({ x, y });
165
+ break;
166
+ case Direction.Left:
167
+ x = to.x;
168
+ y = from.y;
169
+ if (to.x > from.x && to.y < from.y) {
170
+ x = from.x;
171
+ y = to.y;
172
+ }
173
+ pts.push({ x, y });
174
+ break;
175
+ default:
176
+ if (to.y > from.y - faceSpace) {
177
+ x = from.x + (to.x - from.x) / 2;
178
+ pts.push({ x, y: from.y }, { x, y: to.y });
179
+ }
180
+ else {
181
+ const centerY = (from.y + to.y + faceSpace) / 2;
182
+ pts.push({ x: from.x, y: centerY }, { x: to.x, y: centerY });
183
+ }
184
+ break;
185
+ }
186
+ return pts;
187
+ }
188
+ function getNextPointsOfRight(from, to, toFace) {
189
+ if (from.x === to.x || from.y === to.y) {
190
+ return [];
191
+ }
192
+ const pts = [];
193
+ let x;
194
+ let y;
195
+ switch (toFace) {
196
+ case Direction.Up:
197
+ x = from.x;
198
+ y = to.y;
199
+ if (to.x > from.x && to.y > from.y) {
200
+ x = to.x;
201
+ y = from.y;
202
+ }
203
+ pts.push({ x, y });
204
+ break;
205
+ case Direction.Bottom:
206
+ x = from.x;
207
+ y = to.y;
208
+ if (to.x > from.x && to.y < from.y) {
209
+ x = to.x;
210
+ y = from.y;
211
+ }
212
+ pts.push({ x, y });
213
+ break;
214
+ case Direction.Left:
215
+ x = to.x;
216
+ y = from.y;
217
+ if (to.x < from.x) {
218
+ y = from.y + (to.y - from.y) / 2;
219
+ pts.push({ x: from.x, y }, { x: to.x, y });
220
+ }
221
+ else {
222
+ const centerX = (from.x + to.x) / 2;
223
+ pts.push({ x: centerX, y }, { x: centerX, y: to.y });
224
+ }
225
+ break;
226
+ case Direction.Right:
227
+ if (to.x < from.x) {
228
+ pts.push({ x: from.x, y: to.y });
229
+ }
230
+ else {
231
+ pts.push({ x: to.x, y: from.y });
232
+ }
233
+ break;
234
+ default:
235
+ x = to.x;
236
+ y = to.y;
237
+ if (to.x < from.x + faceSpace) {
238
+ pts.push({ x: from.x, y });
239
+ }
240
+ else {
241
+ const centerX = (from.x + to.x - faceSpace) / 2;
242
+ pts.push({ x: centerX, y: from.y }, { x: centerX, y });
243
+ }
244
+ break;
245
+ }
246
+ return pts;
247
+ }
248
+ function getNextPointsOfBottom(from, to, toFace) {
249
+ if (from.x === to.x || from.y === to.y) {
250
+ return [];
251
+ }
252
+ const pts = [];
253
+ let x;
254
+ let y;
255
+ switch (toFace) {
256
+ case Direction.Up:
257
+ x = from.x;
258
+ y = to.y;
259
+ if (to.y < from.y) {
260
+ x = from.x + (to.x - from.x) / 2;
261
+ pts.push({ x, y: from.y }, { x, y: to.y });
262
+ }
263
+ else {
264
+ const centerY = (from.y + to.y) / 2;
265
+ pts.push({ x, y: centerY }, { x: to.x, y: centerY });
266
+ }
267
+ break;
268
+ case Direction.Right:
269
+ x = to.x;
270
+ y = from.y;
271
+ if (to.x < from.x && to.y > from.y) {
272
+ x = from.x;
273
+ y = to.y;
274
+ }
275
+ pts.push({ x, y });
276
+ break;
277
+ case Direction.Bottom:
278
+ if (from.y > to.y) {
279
+ x = to.x;
280
+ y = from.y;
281
+ }
282
+ else {
283
+ x = from.x;
284
+ y = to.y;
285
+ }
286
+ pts.push({ x, y });
287
+ break;
288
+ case Direction.Left:
289
+ x = to.x;
290
+ y = from.y;
291
+ if (to.x > from.x && to.y > from.y) {
292
+ x = from.x;
293
+ y = to.y;
294
+ }
295
+ pts.push({ x, y });
296
+ break;
297
+ default:
298
+ x = from.x;
299
+ if (to.y < from.y + faceSpace) {
300
+ x = from.x + (to.x - from.x) / 2;
301
+ pts.push({ x, y: from.y }, { x, y: to.y });
302
+ }
303
+ else {
304
+ const centerY = (from.y + to.y - faceSpace) / 2;
305
+ pts.push({ x, y: centerY }, { x: to.x, y: centerY });
306
+ }
307
+ break;
308
+ }
309
+ return pts;
310
+ }
311
+ function getNextPointsOfLeft(from, to, toFace) {
312
+ if (from.x === to.x || from.y === to.y) {
313
+ return [];
314
+ }
315
+ const pts = [];
316
+ let x;
317
+ let y;
318
+ switch (toFace) {
319
+ case Direction.Up:
320
+ x = from.x;
321
+ y = to.y;
322
+ if (to.x < from.x && to.y > from.y) {
323
+ x = to.x;
324
+ y = from.y;
325
+ }
326
+ pts.push({ x, y });
327
+ break;
328
+ case Direction.Bottom:
329
+ x = from.x;
330
+ y = to.y;
331
+ if (to.x < from.x && to.y < from.y) {
332
+ x = to.x;
333
+ y = from.y;
334
+ }
335
+ pts.push({ x, y });
336
+ break;
337
+ case Direction.Right:
338
+ x = from.x;
339
+ y = to.y;
340
+ if (to.x > from.x) {
341
+ x = to.x;
342
+ y = from.y + (to.y - from.y) / 2;
343
+ pts.push({ x: from.x, y }, { x: to.x, y });
344
+ }
345
+ else {
346
+ const centerX = (from.x + to.x) / 2;
347
+ pts.push({ x: centerX, y: from.y }, { x: centerX, y: to.y });
348
+ }
349
+ break;
350
+ case Direction.Left:
351
+ if (to.x > from.x) {
352
+ pts.push({ x: from.x, y: to.y });
353
+ }
354
+ else {
355
+ pts.push({ x: to.x, y: from.y });
356
+ }
357
+ break;
358
+ default:
359
+ x = from.x;
360
+ y = to.y;
361
+ if (to.x < from.x - faceSpace) {
362
+ const centerX = (from.x + to.x + faceSpace) / 2;
363
+ pts.push({ x: centerX, y: from.y }, { x: centerX, y });
364
+ }
365
+ else {
366
+ pts.push({ x: from.x, y });
367
+ }
368
+ break;
369
+ }
370
+ return pts;
371
+ }
372
+ function getNextPoints(pen, from, to) {
373
+ const pts = [];
374
+ if (pen.calculative.drawlineH == undefined) {
375
+ pen.calculative.drawlineH =
376
+ Math.abs(to.x - from.x) > Math.abs(to.y - from.y);
377
+ }
378
+ let index = pen.calculative.worldAnchors.findIndex((anchor) => anchor.id == from.id);
379
+ if (index > 1) {
380
+ let prev = pen.calculative.worldAnchors[index - 1];
381
+ if (prev.x === from.x && prev.y !== from.y) {
382
+ //水平
383
+ pts.push({ x: to.x, y: from.y });
384
+ return pts;
385
+ }
386
+ else if (prev.y === from.y && prev.x !== from.x) {
387
+ //垂直
388
+ pts.push({ x: from.x, y: to.y });
389
+ return pts;
390
+ }
391
+ }
392
+ if (pen.calculative.worldAnchors.length) {
393
+ to.isTemp = undefined;
394
+ if (pen.calculative.drawlineH) {
395
+ pts.push({ x: to.x, y: from.y });
396
+ if (Math.abs(to.y - from.y) < faceSpace) {
397
+ to.isTemp = true;
398
+ }
399
+ }
400
+ else {
401
+ pts.push({ x: from.x, y: to.y });
402
+ if (Math.abs(to.x - from.x) < faceSpace) {
403
+ to.isTemp = true;
404
+ }
405
+ }
406
+ }
407
+ return pts;
408
+ }
409
+ export function anchorInHorizontal(pen, anchor, from = true) {
410
+ let anchors = pen.calculative.worldAnchors;
411
+ if (!from) {
412
+ anchors = [];
413
+ pen.calculative.worldAnchors.forEach((item) => {
414
+ anchors.unshift(item);
415
+ });
416
+ }
417
+ for (let i = 0; i < anchors.length; i++) {
418
+ if (anchors[i].id === anchor.id) {
419
+ break;
420
+ }
421
+ if (anchors[i].y !== anchor.y) {
422
+ return false;
423
+ }
424
+ if (anchors[i].x === anchors[i + 1]?.x &&
425
+ anchors[i].y !== anchors[i + 1]?.y) {
426
+ return false;
427
+ }
428
+ }
429
+ return true;
430
+ }
431
+ export function anchorInVertical(pen, anchor, from = true) {
432
+ let anchors = pen.calculative.worldAnchors;
433
+ if (!from) {
434
+ anchors = [];
435
+ pen.calculative.worldAnchors.forEach((item) => {
436
+ anchors.unshift(item);
437
+ });
438
+ }
439
+ for (let i = 0; i < anchors.length; i++) {
440
+ if (anchors[i].id === anchor.id) {
441
+ break;
442
+ }
443
+ if (anchors[i].x !== anchor.x) {
444
+ return false;
445
+ }
446
+ if (anchors[i].y === anchors[i + 1]?.y &&
447
+ anchors[i].x !== anchors[i + 1]?.x) {
448
+ return false;
449
+ }
450
+ }
451
+ return true;
452
+ }
453
+ export function translatePolylineAnchor(pen, anchor, pt) {
454
+ if (!pen.calculative.worldAnchors) {
455
+ return;
456
+ }
457
+ const i = pen.calculative.worldAnchors.findIndex((item) => item.id === anchor.id);
458
+ const from = getFromAnchor(pen);
459
+ const to = getToAnchor(pen);
460
+ let prev = pen.calculative.worldAnchors[i - 1];
461
+ let next = pen.calculative.worldAnchors[i + 1];
462
+ if (pen.calculative.h == undefined) {
463
+ if (from.connectTo) {
464
+ if (anchorInHorizontal(pen, anchor, true)) {
465
+ pen.calculative.h = true;
466
+ }
467
+ else if (anchorInVertical(pen, anchor, true)) {
468
+ pen.calculative.h = false;
469
+ }
470
+ }
471
+ if (pen.calculative.h == undefined && to.connectTo) {
472
+ if (anchorInHorizontal(pen, anchor, false)) {
473
+ pen.calculative.h = true;
474
+ }
475
+ else if (anchorInVertical(pen, anchor, false)) {
476
+ pen.calculative.h = false;
477
+ }
478
+ }
479
+ if (pen.calculative.h == undefined) {
480
+ if (prev) {
481
+ pen.calculative.h = prev.y === anchor.y;
482
+ }
483
+ else if (next) {
484
+ pen.calculative.h = next.y === anchor.y;
485
+ }
486
+ }
487
+ }
488
+ // 水平
489
+ if (pen.calculative.h) {
490
+ anchor.x = pt.x;
491
+ if (from.connectTo && anchorInHorizontal(pen, anchor, true)) {
492
+ if (next && next.y !== anchor.y) {
493
+ next.x = anchor.x;
494
+ }
495
+ return;
496
+ }
497
+ if (to.connectTo && anchorInHorizontal(pen, anchor, false)) {
498
+ if (prev && prev.y !== anchor.y) {
499
+ prev.x = anchor.x;
500
+ }
501
+ return;
502
+ }
503
+ const a = pen.anchors[i];
504
+ let d;
505
+ for (let pos = i - 1; pos > -1; pos--) {
506
+ prev = pen.anchors[pos];
507
+ if (d == undefined) {
508
+ d = prev.y === a.y;
509
+ }
510
+ if (d === true) {
511
+ if (prev.y === a.y) {
512
+ pen.calculative.worldAnchors[pos].y = pt.y;
513
+ }
514
+ else {
515
+ break;
516
+ }
517
+ }
518
+ else {
519
+ if (prev.x === a.x) {
520
+ pen.calculative.worldAnchors[pos].x = pt.x;
521
+ }
522
+ else {
523
+ break;
524
+ }
525
+ }
526
+ }
527
+ d = undefined;
528
+ for (let pos = i + 1; pos < pen.calculative.worldAnchors.length; pos++) {
529
+ next = pen.anchors[pos];
530
+ if (next) {
531
+ if (d == undefined) {
532
+ d = next.y === a.y;
533
+ }
534
+ if (d === true) {
535
+ if (next.y === a.y) {
536
+ pen.calculative.worldAnchors[pos].y = pt.y;
537
+ }
538
+ else {
539
+ break;
540
+ }
541
+ }
542
+ else {
543
+ if (next.x === a.x) {
544
+ pen.calculative.worldAnchors[pos].x = pt.x;
545
+ }
546
+ else {
547
+ break;
548
+ }
549
+ }
550
+ }
551
+ else {
552
+ break;
553
+ }
554
+ }
555
+ anchor.y = pt.y;
556
+ }
557
+ // 垂直
558
+ else {
559
+ anchor.y = pt.y;
560
+ if (from.connectTo && anchorInVertical(pen, anchor, true)) {
561
+ if (next && next.x !== anchor.x) {
562
+ next.y = anchor.y;
563
+ }
564
+ return;
565
+ }
566
+ if (to.connectTo && anchorInVertical(pen, anchor, false)) {
567
+ if (prev && prev.x !== anchor.x) {
568
+ prev.y = anchor.y;
569
+ }
570
+ return;
571
+ }
572
+ const a = pen.anchors[i];
573
+ let d;
574
+ for (let pos = i - 1; pos > -1; pos--) {
575
+ prev = pen.anchors[pos];
576
+ if (d == undefined) {
577
+ d = prev.x === a.x;
578
+ }
579
+ if (d === true) {
580
+ if (prev.x === a.x) {
581
+ pen.calculative.worldAnchors[pos].x = pt.x;
582
+ }
583
+ else {
584
+ break;
585
+ }
586
+ }
587
+ else {
588
+ if (prev.y === a.y) {
589
+ pen.calculative.worldAnchors[pos].y = pt.y;
590
+ }
591
+ else {
592
+ break;
593
+ }
594
+ }
595
+ }
596
+ d = undefined;
597
+ for (let pos = i + 1; pos < pen.calculative.worldAnchors.length; pos++) {
598
+ next = pen.anchors[pos];
599
+ if (next) {
600
+ if (d == undefined) {
601
+ d = next.x === a.x;
602
+ }
603
+ if (d === true) {
604
+ if (next.x === a.x) {
605
+ pen.calculative.worldAnchors[pos].x = pt.x;
606
+ }
607
+ else {
608
+ break;
609
+ }
610
+ }
611
+ else {
612
+ if (next.y === a.y) {
613
+ pen.calculative.worldAnchors[pos].y = pt.y;
614
+ }
615
+ else {
616
+ break;
617
+ }
618
+ }
619
+ }
620
+ else {
621
+ break;
622
+ }
623
+ }
624
+ anchor.x = pt.x;
625
+ }
626
+ }
627
+ //# sourceMappingURL=polyline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyline.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/polyline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Point } from '../../point';
2
+ export declare function simplify(points: Point[], length: number, start: number, end: number): Point[];
3
+ export declare function smoothLine(points: Point[], cornerThres?: number, match?: boolean): any;