@antv/layout 0.3.11 → 1.0.0-alpha.0

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 (555) hide show
  1. package/README.md +45 -32
  2. package/dist/3a54d760230d1933f953.worker.js +2 -0
  3. package/dist/3a54d760230d1933f953.worker.js.map +1 -0
  4. package/dist/index.min.js +2 -0
  5. package/dist/index.min.js.map +1 -0
  6. package/lib/Circular.d.ts +40 -0
  7. package/lib/Supervisor.d.ts +65 -0
  8. package/lib/index.d.ts +3 -3
  9. package/lib/registry.d.ts +3 -0
  10. package/lib/types.d.ts +128 -0
  11. package/lib/util/gpu.d.ts +22 -22
  12. package/lib/util/index.d.ts +6 -6
  13. package/lib/util/math.d.ts +9 -4
  14. package/lib/worker.d.ts +3 -0
  15. package/package.json +21 -95
  16. package/dist/layout.min.js +0 -3
  17. package/dist/layout.min.js.LICENSE.txt +0 -1
  18. package/dist/layout.min.js.map +0 -1
  19. package/es/index.d.ts +0 -3
  20. package/es/index.js +0 -6
  21. package/es/index.js.map +0 -1
  22. package/es/layout/base.d.ts +0 -22
  23. package/es/layout/base.js +0 -51
  24. package/es/layout/base.js.map +0 -1
  25. package/es/layout/circular.d.ts +0 -80
  26. package/es/layout/circular.js +0 -314
  27. package/es/layout/circular.js.map +0 -1
  28. package/es/layout/comboCombined.d.ts +0 -54
  29. package/es/layout/comboCombined.js +0 -348
  30. package/es/layout/comboCombined.js.map +0 -1
  31. package/es/layout/comboForce.d.ts +0 -134
  32. package/es/layout/comboForce.js +0 -801
  33. package/es/layout/comboForce.js.map +0 -1
  34. package/es/layout/concentric.d.ts +0 -67
  35. package/es/layout/concentric.js +0 -219
  36. package/es/layout/concentric.js.map +0 -1
  37. package/es/layout/constants.d.ts +0 -12
  38. package/es/layout/constants.js +0 -22
  39. package/es/layout/constants.js.map +0 -1
  40. package/es/layout/dagre/graph.d.ts +0 -91
  41. package/es/layout/dagre/graph.js +0 -4
  42. package/es/layout/dagre/graph.js.map +0 -1
  43. package/es/layout/dagre/index.d.ts +0 -8
  44. package/es/layout/dagre/index.js +0 -31
  45. package/es/layout/dagre/index.js.map +0 -1
  46. package/es/layout/dagre/src/acyclic.d.ts +0 -6
  47. package/es/layout/dagre/src/acyclic.js +0 -52
  48. package/es/layout/dagre/src/acyclic.js.map +0 -1
  49. package/es/layout/dagre/src/add-border-segments.d.ts +0 -3
  50. package/es/layout/dagre/src/add-border-segments.js +0 -32
  51. package/es/layout/dagre/src/add-border-segments.js.map +0 -1
  52. package/es/layout/dagre/src/coordinate-system.d.ts +0 -6
  53. package/es/layout/dagre/src/coordinate-system.js +0 -69
  54. package/es/layout/dagre/src/coordinate-system.js.map +0 -1
  55. package/es/layout/dagre/src/data/list.d.ts +0 -12
  56. package/es/layout/dagre/src/data/list.js +0 -48
  57. package/es/layout/dagre/src/data/list.js.map +0 -1
  58. package/es/layout/dagre/src/debug.d.ts +0 -3
  59. package/es/layout/dagre/src/debug.js +0 -24
  60. package/es/layout/dagre/src/debug.js.map +0 -1
  61. package/es/layout/dagre/src/greedy-fas.d.ts +0 -3
  62. package/es/layout/dagre/src/greedy-fas.js +0 -114
  63. package/es/layout/dagre/src/greedy-fas.js.map +0 -1
  64. package/es/layout/dagre/src/layout.d.ts +0 -3
  65. package/es/layout/dagre/src/layout.js +0 -518
  66. package/es/layout/dagre/src/layout.js.map +0 -1
  67. package/es/layout/dagre/src/nesting-graph.d.ts +0 -6
  68. package/es/layout/dagre/src/nesting-graph.js +0 -117
  69. package/es/layout/dagre/src/nesting-graph.js.map +0 -1
  70. package/es/layout/dagre/src/normalize.d.ts +0 -6
  71. package/es/layout/dagre/src/normalize.js +0 -89
  72. package/es/layout/dagre/src/normalize.js.map +0 -1
  73. package/es/layout/dagre/src/order/add-subgraph-constraints.d.ts +0 -3
  74. package/es/layout/dagre/src/order/add-subgraph-constraints.js +0 -27
  75. package/es/layout/dagre/src/order/add-subgraph-constraints.js.map +0 -1
  76. package/es/layout/dagre/src/order/barycenter.d.ts +0 -11
  77. package/es/layout/dagre/src/order/barycenter.js +0 -24
  78. package/es/layout/dagre/src/order/barycenter.js.map +0 -1
  79. package/es/layout/dagre/src/order/build-layer-graph.d.ts +0 -3
  80. package/es/layout/dagre/src/order/build-layer-graph.js +0 -71
  81. package/es/layout/dagre/src/order/build-layer-graph.js.map +0 -1
  82. package/es/layout/dagre/src/order/cross-count.d.ts +0 -3
  83. package/es/layout/dagre/src/order/cross-count.js +0 -65
  84. package/es/layout/dagre/src/order/cross-count.js.map +0 -1
  85. package/es/layout/dagre/src/order/index.d.ts +0 -3
  86. package/es/layout/dagre/src/order/index.js +0 -91
  87. package/es/layout/dagre/src/order/index.js.map +0 -1
  88. package/es/layout/dagre/src/order/init-data-order.d.ts +0 -6
  89. package/es/layout/dagre/src/order/init-data-order.js +0 -25
  90. package/es/layout/dagre/src/order/init-data-order.js.map +0 -1
  91. package/es/layout/dagre/src/order/init-order.d.ts +0 -3
  92. package/es/layout/dagre/src/order/init-order.js +0 -52
  93. package/es/layout/dagre/src/order/init-order.js.map +0 -1
  94. package/es/layout/dagre/src/order/resolve-conflicts.d.ts +0 -19
  95. package/es/layout/dagre/src/order/resolve-conflicts.js +0 -93
  96. package/es/layout/dagre/src/order/resolve-conflicts.js.map +0 -1
  97. package/es/layout/dagre/src/order/sort-subgraph.d.ts +0 -7
  98. package/es/layout/dagre/src/order/sort-subgraph.js +0 -85
  99. package/es/layout/dagre/src/order/sort-subgraph.js.map +0 -1
  100. package/es/layout/dagre/src/order/sort.d.ts +0 -7
  101. package/es/layout/dagre/src/order/sort.js +0 -68
  102. package/es/layout/dagre/src/order/sort.js.map +0 -1
  103. package/es/layout/dagre/src/parent-dummy-chains.d.ts +0 -3
  104. package/es/layout/dagre/src/parent-dummy-chains.js +0 -81
  105. package/es/layout/dagre/src/parent-dummy-chains.js.map +0 -1
  106. package/es/layout/dagre/src/position/bk.d.ts +0 -23
  107. package/es/layout/dagre/src/position/bk.js +0 -370
  108. package/es/layout/dagre/src/position/bk.js.map +0 -1
  109. package/es/layout/dagre/src/position/index.d.ts +0 -3
  110. package/es/layout/dagre/src/position/index.js +0 -51
  111. package/es/layout/dagre/src/position/index.js.map +0 -1
  112. package/es/layout/dagre/src/rank/feasible-tree.d.ts +0 -9
  113. package/es/layout/dagre/src/rank/feasible-tree.js +0 -148
  114. package/es/layout/dagre/src/rank/feasible-tree.js.map +0 -1
  115. package/es/layout/dagre/src/rank/index.d.ts +0 -3
  116. package/es/layout/dagre/src/rank/index.js +0 -53
  117. package/es/layout/dagre/src/rank/index.js.map +0 -1
  118. package/es/layout/dagre/src/rank/network-simplex.d.ts +0 -9
  119. package/es/layout/dagre/src/rank/network-simplex.js +0 -195
  120. package/es/layout/dagre/src/rank/network-simplex.js.map +0 -1
  121. package/es/layout/dagre/src/rank/util.d.ts +0 -11
  122. package/es/layout/dagre/src/rank/util.js +0 -141
  123. package/es/layout/dagre/src/rank/util.js.map +0 -1
  124. package/es/layout/dagre/src/util.d.ts +0 -31
  125. package/es/layout/dagre/src/util.js +0 -261
  126. package/es/layout/dagre/src/util.js.map +0 -1
  127. package/es/layout/dagre.d.ts +0 -71
  128. package/es/layout/dagre.js +0 -433
  129. package/es/layout/dagre.js.map +0 -1
  130. package/es/layout/dagreCompound.d.ts +0 -121
  131. package/es/layout/dagreCompound.js +0 -391
  132. package/es/layout/dagreCompound.js.map +0 -1
  133. package/es/layout/er/core.d.ts +0 -1
  134. package/es/layout/er/core.js +0 -107
  135. package/es/layout/er/core.js.map +0 -1
  136. package/es/layout/er/forceGrid.d.ts +0 -8
  137. package/es/layout/er/forceGrid.js +0 -88
  138. package/es/layout/er/forceGrid.js.map +0 -1
  139. package/es/layout/er/grid.d.ts +0 -26
  140. package/es/layout/er/grid.js +0 -162
  141. package/es/layout/er/grid.js.map +0 -1
  142. package/es/layout/er/index.d.ts +0 -29
  143. package/es/layout/er/index.js +0 -54
  144. package/es/layout/er/index.js.map +0 -1
  145. package/es/layout/er/mysqlWorkbench.d.ts +0 -6
  146. package/es/layout/er/mysqlWorkbench.js +0 -324
  147. package/es/layout/er/mysqlWorkbench.js.map +0 -1
  148. package/es/layout/er/type.d.ts +0 -35
  149. package/es/layout/er/type.js +0 -2
  150. package/es/layout/er/type.js.map +0 -1
  151. package/es/layout/force/force-in-a-box.d.ts +0 -28
  152. package/es/layout/force/force-in-a-box.js +0 -330
  153. package/es/layout/force/force-in-a-box.js.map +0 -1
  154. package/es/layout/force/force.d.ts +0 -100
  155. package/es/layout/force/force.js +0 -340
  156. package/es/layout/force/force.js.map +0 -1
  157. package/es/layout/force/index.d.ts +0 -1
  158. package/es/layout/force/index.js +0 -2
  159. package/es/layout/force/index.js.map +0 -1
  160. package/es/layout/force2/ForceNBody.d.ts +0 -7
  161. package/es/layout/force2/ForceNBody.js +0 -94
  162. package/es/layout/force2/ForceNBody.js.map +0 -1
  163. package/es/layout/force2/index.d.ts +0 -119
  164. package/es/layout/force2/index.js +0 -608
  165. package/es/layout/force2/index.js.map +0 -1
  166. package/es/layout/forceAtlas2/body.d.ts +0 -33
  167. package/es/layout/forceAtlas2/body.js +0 -89
  168. package/es/layout/forceAtlas2/body.js.map +0 -1
  169. package/es/layout/forceAtlas2/index.d.ts +0 -115
  170. package/es/layout/forceAtlas2/index.js +0 -484
  171. package/es/layout/forceAtlas2/index.js.map +0 -1
  172. package/es/layout/forceAtlas2/quad.d.ts +0 -27
  173. package/es/layout/forceAtlas2/quad.js +0 -96
  174. package/es/layout/forceAtlas2/quad.js.map +0 -1
  175. package/es/layout/forceAtlas2/quadTree.d.ts +0 -20
  176. package/es/layout/forceAtlas2/quadTree.js +0 -103
  177. package/es/layout/forceAtlas2/quadTree.js.map +0 -1
  178. package/es/layout/fruchterman.d.ts +0 -73
  179. package/es/layout/fruchterman.js +0 -296
  180. package/es/layout/fruchterman.js.map +0 -1
  181. package/es/layout/gForce.d.ts +0 -96
  182. package/es/layout/gForce.js +0 -399
  183. package/es/layout/gForce.js.map +0 -1
  184. package/es/layout/gpu/fruchterman.d.ts +0 -57
  185. package/es/layout/gpu/fruchterman.js +0 -267
  186. package/es/layout/gpu/fruchterman.js.map +0 -1
  187. package/es/layout/gpu/fruchtermanShader.d.ts +0 -4
  188. package/es/layout/gpu/fruchtermanShader.js +0 -201
  189. package/es/layout/gpu/fruchtermanShader.js.map +0 -1
  190. package/es/layout/gpu/gForce.d.ts +0 -68
  191. package/es/layout/gpu/gForce.js +0 -330
  192. package/es/layout/gpu/gForce.js.map +0 -1
  193. package/es/layout/gpu/gForceShader.d.ts +0 -4
  194. package/es/layout/gpu/gForceShader.js +0 -218
  195. package/es/layout/gpu/gForceShader.js.map +0 -1
  196. package/es/layout/grid.d.ts +0 -83
  197. package/es/layout/grid.js +0 -317
  198. package/es/layout/grid.js.map +0 -1
  199. package/es/layout/index.d.ts +0 -22
  200. package/es/layout/index.js +0 -25
  201. package/es/layout/index.js.map +0 -1
  202. package/es/layout/layout.d.ts +0 -26
  203. package/es/layout/layout.js +0 -97
  204. package/es/layout/layout.js.map +0 -1
  205. package/es/layout/mds.d.ts +0 -39
  206. package/es/layout/mds.js +0 -122
  207. package/es/layout/mds.js.map +0 -1
  208. package/es/layout/radial/index.d.ts +0 -1
  209. package/es/layout/radial/index.js +0 -2
  210. package/es/layout/radial/index.js.map +0 -1
  211. package/es/layout/radial/mds.d.ts +0 -15
  212. package/es/layout/radial/mds.js +0 -38
  213. package/es/layout/radial/mds.js.map +0 -1
  214. package/es/layout/radial/radial.d.ts +0 -74
  215. package/es/layout/radial/radial.js +0 -420
  216. package/es/layout/radial/radial.js.map +0 -1
  217. package/es/layout/radial/radialNonoverlapForce.d.ts +0 -50
  218. package/es/layout/radial/radialNonoverlapForce.js +0 -123
  219. package/es/layout/radial/radialNonoverlapForce.js.map +0 -1
  220. package/es/layout/random.d.ts +0 -35
  221. package/es/layout/random.js +0 -62
  222. package/es/layout/random.js.map +0 -1
  223. package/es/layout/types.d.ts +0 -432
  224. package/es/layout/types.js +0 -2
  225. package/es/layout/types.js.map +0 -1
  226. package/es/registy/index.d.ts +0 -3
  227. package/es/registy/index.js +0 -41
  228. package/es/registy/index.js.map +0 -1
  229. package/es/util/array.d.ts +0 -1
  230. package/es/util/array.js +0 -2
  231. package/es/util/array.js.map +0 -1
  232. package/es/util/function.d.ts +0 -6
  233. package/es/util/function.js +0 -56
  234. package/es/util/function.js.map +0 -1
  235. package/es/util/gpu.d.ts +0 -52
  236. package/es/util/gpu.js +0 -239
  237. package/es/util/gpu.js.map +0 -1
  238. package/es/util/index.d.ts +0 -6
  239. package/es/util/index.js +0 -7
  240. package/es/util/index.js.map +0 -1
  241. package/es/util/math.d.ts +0 -43
  242. package/es/util/math.js +0 -253
  243. package/es/util/math.js.map +0 -1
  244. package/es/util/number.d.ts +0 -3
  245. package/es/util/number.js +0 -7
  246. package/es/util/number.js.map +0 -1
  247. package/es/util/object.d.ts +0 -2
  248. package/es/util/object.js +0 -25
  249. package/es/util/object.js.map +0 -1
  250. package/es/util/string.d.ts +0 -2
  251. package/es/util/string.js +0 -16
  252. package/es/util/string.js.map +0 -1
  253. package/lib/index.js +0 -24
  254. package/lib/index.js.map +0 -1
  255. package/lib/layout/base.d.ts +0 -22
  256. package/lib/layout/base.js +0 -56
  257. package/lib/layout/base.js.map +0 -1
  258. package/lib/layout/circular.d.ts +0 -80
  259. package/lib/layout/circular.js +0 -337
  260. package/lib/layout/circular.js.map +0 -1
  261. package/lib/layout/comboCombined.d.ts +0 -54
  262. package/lib/layout/comboCombined.js +0 -384
  263. package/lib/layout/comboCombined.js.map +0 -1
  264. package/lib/layout/comboForce.d.ts +0 -134
  265. package/lib/layout/comboForce.js +0 -826
  266. package/lib/layout/comboForce.js.map +0 -1
  267. package/lib/layout/concentric.d.ts +0 -67
  268. package/lib/layout/concentric.js +0 -243
  269. package/lib/layout/concentric.js.map +0 -1
  270. package/lib/layout/constants.d.ts +0 -12
  271. package/lib/layout/constants.js +0 -25
  272. package/lib/layout/constants.js.map +0 -1
  273. package/lib/layout/dagre/graph.d.ts +0 -91
  274. package/lib/layout/dagre/graph.js +0 -28
  275. package/lib/layout/dagre/graph.js.map +0 -1
  276. package/lib/layout/dagre/index.d.ts +0 -8
  277. package/lib/layout/dagre/index.js +0 -36
  278. package/lib/layout/dagre/index.js.map +0 -1
  279. package/lib/layout/dagre/src/acyclic.d.ts +0 -6
  280. package/lib/layout/dagre/src/acyclic.js +0 -57
  281. package/lib/layout/dagre/src/acyclic.js.map +0 -1
  282. package/lib/layout/dagre/src/add-border-segments.d.ts +0 -3
  283. package/lib/layout/dagre/src/add-border-segments.js +0 -34
  284. package/lib/layout/dagre/src/add-border-segments.js.map +0 -1
  285. package/lib/layout/dagre/src/coordinate-system.d.ts +0 -6
  286. package/lib/layout/dagre/src/coordinate-system.js +0 -71
  287. package/lib/layout/dagre/src/coordinate-system.js.map +0 -1
  288. package/lib/layout/dagre/src/data/list.d.ts +0 -12
  289. package/lib/layout/dagre/src/data/list.js +0 -52
  290. package/lib/layout/dagre/src/data/list.js.map +0 -1
  291. package/lib/layout/dagre/src/debug.d.ts +0 -3
  292. package/lib/layout/dagre/src/debug.js +0 -26
  293. package/lib/layout/dagre/src/debug.js.map +0 -1
  294. package/lib/layout/dagre/src/greedy-fas.d.ts +0 -3
  295. package/lib/layout/dagre/src/greedy-fas.js +0 -144
  296. package/lib/layout/dagre/src/greedy-fas.js.map +0 -1
  297. package/lib/layout/dagre/src/layout.d.ts +0 -3
  298. package/lib/layout/dagre/src/layout.js +0 -535
  299. package/lib/layout/dagre/src/layout.js.map +0 -1
  300. package/lib/layout/dagre/src/nesting-graph.d.ts +0 -6
  301. package/lib/layout/dagre/src/nesting-graph.js +0 -119
  302. package/lib/layout/dagre/src/nesting-graph.js.map +0 -1
  303. package/lib/layout/dagre/src/normalize.d.ts +0 -6
  304. package/lib/layout/dagre/src/normalize.js +0 -91
  305. package/lib/layout/dagre/src/normalize.js.map +0 -1
  306. package/lib/layout/dagre/src/order/add-subgraph-constraints.d.ts +0 -3
  307. package/lib/layout/dagre/src/order/add-subgraph-constraints.js +0 -29
  308. package/lib/layout/dagre/src/order/add-subgraph-constraints.js.map +0 -1
  309. package/lib/layout/dagre/src/order/barycenter.d.ts +0 -11
  310. package/lib/layout/dagre/src/order/barycenter.js +0 -26
  311. package/lib/layout/dagre/src/order/barycenter.js.map +0 -1
  312. package/lib/layout/dagre/src/order/build-layer-graph.d.ts +0 -3
  313. package/lib/layout/dagre/src/order/build-layer-graph.js +0 -73
  314. package/lib/layout/dagre/src/order/build-layer-graph.js.map +0 -1
  315. package/lib/layout/dagre/src/order/cross-count.d.ts +0 -3
  316. package/lib/layout/dagre/src/order/cross-count.js +0 -67
  317. package/lib/layout/dagre/src/order/cross-count.js.map +0 -1
  318. package/lib/layout/dagre/src/order/index.d.ts +0 -3
  319. package/lib/layout/dagre/src/order/index.js +0 -96
  320. package/lib/layout/dagre/src/order/index.js.map +0 -1
  321. package/lib/layout/dagre/src/order/init-data-order.d.ts +0 -6
  322. package/lib/layout/dagre/src/order/init-data-order.js +0 -27
  323. package/lib/layout/dagre/src/order/init-data-order.js.map +0 -1
  324. package/lib/layout/dagre/src/order/init-order.d.ts +0 -3
  325. package/lib/layout/dagre/src/order/init-order.js +0 -54
  326. package/lib/layout/dagre/src/order/init-order.js.map +0 -1
  327. package/lib/layout/dagre/src/order/resolve-conflicts.d.ts +0 -19
  328. package/lib/layout/dagre/src/order/resolve-conflicts.js +0 -98
  329. package/lib/layout/dagre/src/order/resolve-conflicts.js.map +0 -1
  330. package/lib/layout/dagre/src/order/sort-subgraph.d.ts +0 -7
  331. package/lib/layout/dagre/src/order/sort-subgraph.js +0 -90
  332. package/lib/layout/dagre/src/order/sort-subgraph.js.map +0 -1
  333. package/lib/layout/dagre/src/order/sort.d.ts +0 -7
  334. package/lib/layout/dagre/src/order/sort.js +0 -70
  335. package/lib/layout/dagre/src/order/sort.js.map +0 -1
  336. package/lib/layout/dagre/src/parent-dummy-chains.d.ts +0 -3
  337. package/lib/layout/dagre/src/parent-dummy-chains.js +0 -83
  338. package/lib/layout/dagre/src/parent-dummy-chains.js.map +0 -1
  339. package/lib/layout/dagre/src/position/bk.d.ts +0 -23
  340. package/lib/layout/dagre/src/position/bk.js +0 -409
  341. package/lib/layout/dagre/src/position/bk.js.map +0 -1
  342. package/lib/layout/dagre/src/position/index.d.ts +0 -3
  343. package/lib/layout/dagre/src/position/index.js +0 -64
  344. package/lib/layout/dagre/src/position/index.js.map +0 -1
  345. package/lib/layout/dagre/src/rank/feasible-tree.d.ts +0 -9
  346. package/lib/layout/dagre/src/rank/feasible-tree.js +0 -152
  347. package/lib/layout/dagre/src/rank/feasible-tree.js.map +0 -1
  348. package/lib/layout/dagre/src/rank/index.d.ts +0 -3
  349. package/lib/layout/dagre/src/rank/index.js +0 -58
  350. package/lib/layout/dagre/src/rank/index.js.map +0 -1
  351. package/lib/layout/dagre/src/rank/network-simplex.d.ts +0 -9
  352. package/lib/layout/dagre/src/rank/network-simplex.js +0 -205
  353. package/lib/layout/dagre/src/rank/network-simplex.js.map +0 -1
  354. package/lib/layout/dagre/src/rank/util.d.ts +0 -11
  355. package/lib/layout/dagre/src/rank/util.js +0 -146
  356. package/lib/layout/dagre/src/rank/util.js.map +0 -1
  357. package/lib/layout/dagre/src/util.d.ts +0 -31
  358. package/lib/layout/dagre/src/util.js +0 -280
  359. package/lib/layout/dagre/src/util.js.map +0 -1
  360. package/lib/layout/dagre.d.ts +0 -71
  361. package/lib/layout/dagre.js +0 -462
  362. package/lib/layout/dagre.js.map +0 -1
  363. package/lib/layout/dagreCompound.d.ts +0 -121
  364. package/lib/layout/dagreCompound.js +0 -429
  365. package/lib/layout/dagreCompound.js.map +0 -1
  366. package/lib/layout/er/core.d.ts +0 -1
  367. package/lib/layout/er/core.js +0 -147
  368. package/lib/layout/er/core.js.map +0 -1
  369. package/lib/layout/er/forceGrid.d.ts +0 -8
  370. package/lib/layout/er/forceGrid.js +0 -97
  371. package/lib/layout/er/forceGrid.js.map +0 -1
  372. package/lib/layout/er/grid.d.ts +0 -26
  373. package/lib/layout/er/grid.js +0 -177
  374. package/lib/layout/er/grid.js.map +0 -1
  375. package/lib/layout/er/index.d.ts +0 -29
  376. package/lib/layout/er/index.js +0 -80
  377. package/lib/layout/er/index.js.map +0 -1
  378. package/lib/layout/er/mysqlWorkbench.d.ts +0 -6
  379. package/lib/layout/er/mysqlWorkbench.js +0 -326
  380. package/lib/layout/er/mysqlWorkbench.js.map +0 -1
  381. package/lib/layout/er/type.d.ts +0 -35
  382. package/lib/layout/er/type.js +0 -3
  383. package/lib/layout/er/type.js.map +0 -1
  384. package/lib/layout/force/force-in-a-box.d.ts +0 -28
  385. package/lib/layout/force/force-in-a-box.js +0 -357
  386. package/lib/layout/force/force-in-a-box.js.map +0 -1
  387. package/lib/layout/force/force.d.ts +0 -100
  388. package/lib/layout/force/force.js +0 -388
  389. package/lib/layout/force/force.js.map +0 -1
  390. package/lib/layout/force/index.d.ts +0 -1
  391. package/lib/layout/force/index.js +0 -18
  392. package/lib/layout/force/index.js.map +0 -1
  393. package/lib/layout/force2/ForceNBody.d.ts +0 -7
  394. package/lib/layout/force2/ForceNBody.js +0 -98
  395. package/lib/layout/force2/ForceNBody.js.map +0 -1
  396. package/lib/layout/force2/index.d.ts +0 -119
  397. package/lib/layout/force2/index.js +0 -643
  398. package/lib/layout/force2/index.js.map +0 -1
  399. package/lib/layout/forceAtlas2/body.d.ts +0 -33
  400. package/lib/layout/forceAtlas2/body.js +0 -93
  401. package/lib/layout/forceAtlas2/body.js.map +0 -1
  402. package/lib/layout/forceAtlas2/index.d.ts +0 -115
  403. package/lib/layout/forceAtlas2/index.js +0 -509
  404. package/lib/layout/forceAtlas2/index.js.map +0 -1
  405. package/lib/layout/forceAtlas2/quad.d.ts +0 -27
  406. package/lib/layout/forceAtlas2/quad.js +0 -100
  407. package/lib/layout/forceAtlas2/quad.js.map +0 -1
  408. package/lib/layout/forceAtlas2/quadTree.d.ts +0 -20
  409. package/lib/layout/forceAtlas2/quadTree.js +0 -107
  410. package/lib/layout/forceAtlas2/quadTree.js.map +0 -1
  411. package/lib/layout/fruchterman.d.ts +0 -73
  412. package/lib/layout/fruchterman.js +0 -320
  413. package/lib/layout/fruchterman.js.map +0 -1
  414. package/lib/layout/gForce.d.ts +0 -96
  415. package/lib/layout/gForce.js +0 -421
  416. package/lib/layout/gForce.js.map +0 -1
  417. package/lib/layout/gpu/fruchterman.d.ts +0 -57
  418. package/lib/layout/gpu/fruchterman.js +0 -361
  419. package/lib/layout/gpu/fruchterman.js.map +0 -1
  420. package/lib/layout/gpu/fruchtermanShader.d.ts +0 -4
  421. package/lib/layout/gpu/fruchtermanShader.js +0 -8
  422. package/lib/layout/gpu/fruchtermanShader.js.map +0 -1
  423. package/lib/layout/gpu/gForce.d.ts +0 -68
  424. package/lib/layout/gpu/gForce.js +0 -415
  425. package/lib/layout/gpu/gForce.js.map +0 -1
  426. package/lib/layout/gpu/gForceShader.d.ts +0 -4
  427. package/lib/layout/gpu/gForceShader.js +0 -8
  428. package/lib/layout/gpu/gForceShader.js.map +0 -1
  429. package/lib/layout/grid.d.ts +0 -83
  430. package/lib/layout/grid.js +0 -339
  431. package/lib/layout/grid.js.map +0 -1
  432. package/lib/layout/index.d.ts +0 -22
  433. package/lib/layout/index.js +0 -59
  434. package/lib/layout/index.js.map +0 -1
  435. package/lib/layout/layout.d.ts +0 -26
  436. package/lib/layout/layout.js +0 -102
  437. package/lib/layout/layout.js.map +0 -1
  438. package/lib/layout/mds.d.ts +0 -39
  439. package/lib/layout/mds.js +0 -144
  440. package/lib/layout/mds.js.map +0 -1
  441. package/lib/layout/radial/index.d.ts +0 -1
  442. package/lib/layout/radial/index.js +0 -18
  443. package/lib/layout/radial/index.js.map +0 -1
  444. package/lib/layout/radial/mds.d.ts +0 -15
  445. package/lib/layout/radial/mds.js +0 -42
  446. package/lib/layout/radial/mds.js.map +0 -1
  447. package/lib/layout/radial/radial.d.ts +0 -74
  448. package/lib/layout/radial/radial.js +0 -445
  449. package/lib/layout/radial/radial.js.map +0 -1
  450. package/lib/layout/radial/radialNonoverlapForce.d.ts +0 -50
  451. package/lib/layout/radial/radialNonoverlapForce.js +0 -127
  452. package/lib/layout/radial/radialNonoverlapForce.js.map +0 -1
  453. package/lib/layout/random.d.ts +0 -35
  454. package/lib/layout/random.js +0 -84
  455. package/lib/layout/random.js.map +0 -1
  456. package/lib/layout/types.d.ts +0 -432
  457. package/lib/layout/types.js +0 -3
  458. package/lib/layout/types.js.map +0 -1
  459. package/lib/registy/index.d.ts +0 -3
  460. package/lib/registy/index.js +0 -65
  461. package/lib/registy/index.js.map +0 -1
  462. package/lib/util/array.js +0 -5
  463. package/lib/util/array.js.map +0 -1
  464. package/lib/util/function.js +0 -65
  465. package/lib/util/function.js.map +0 -1
  466. package/lib/util/gpu.js +0 -250
  467. package/lib/util/gpu.js.map +0 -1
  468. package/lib/util/index.js +0 -23
  469. package/lib/util/index.js.map +0 -1
  470. package/lib/util/math.js +0 -266
  471. package/lib/util/math.js.map +0 -1
  472. package/lib/util/number.js +0 -13
  473. package/lib/util/number.js.map +0 -1
  474. package/lib/util/object.js +0 -43
  475. package/lib/util/object.js.map +0 -1
  476. package/lib/util/string.js +0 -20
  477. package/lib/util/string.js.map +0 -1
  478. package/src/index.ts +0 -7
  479. package/src/layout/base.ts +0 -57
  480. package/src/layout/circular.ts +0 -370
  481. package/src/layout/comboCombined.ts +0 -391
  482. package/src/layout/comboForce.ts +0 -873
  483. package/src/layout/concentric.ts +0 -289
  484. package/src/layout/constants.ts +0 -22
  485. package/src/layout/dagre/graph.ts +0 -104
  486. package/src/layout/dagre/index.ts +0 -31
  487. package/src/layout/dagre/src/acyclic.ts +0 -58
  488. package/src/layout/dagre/src/add-border-segments.ts +0 -47
  489. package/src/layout/dagre/src/coordinate-system.ts +0 -77
  490. package/src/layout/dagre/src/data/list.ts +0 -60
  491. package/src/layout/dagre/src/debug.ts +0 -30
  492. package/src/layout/dagre/src/greedy-fas.ts +0 -144
  493. package/src/layout/dagre/src/layout.ts +0 -579
  494. package/src/layout/dagre/src/nesting-graph.ts +0 -143
  495. package/src/layout/dagre/src/normalize.ts +0 -96
  496. package/src/layout/dagre/src/order/add-subgraph-constraints.ts +0 -29
  497. package/src/layout/dagre/src/order/barycenter.ts +0 -26
  498. package/src/layout/dagre/src/order/build-layer-graph.ts +0 -82
  499. package/src/layout/dagre/src/order/cross-count.ts +0 -77
  500. package/src/layout/dagre/src/order/index.ts +0 -105
  501. package/src/layout/dagre/src/order/init-data-order.ts +0 -27
  502. package/src/layout/dagre/src/order/init-order.ts +0 -56
  503. package/src/layout/dagre/src/order/resolve-conflicts.ts +0 -152
  504. package/src/layout/dagre/src/order/sort-subgraph.ts +0 -105
  505. package/src/layout/dagre/src/order/sort.ts +0 -76
  506. package/src/layout/dagre/src/parent-dummy-chains.ts +0 -102
  507. package/src/layout/dagre/src/position/bk.ts +0 -493
  508. package/src/layout/dagre/src/position/index.ts +0 -82
  509. package/src/layout/dagre/src/rank/feasible-tree.ts +0 -165
  510. package/src/layout/dagre/src/rank/index.ts +0 -54
  511. package/src/layout/dagre/src/rank/network-simplex.ts +0 -225
  512. package/src/layout/dagre/src/rank/util.ts +0 -166
  513. package/src/layout/dagre/src/util.ts +0 -309
  514. package/src/layout/dagre.ts +0 -460
  515. package/src/layout/dagreCompound.ts +0 -518
  516. package/src/layout/er/core.ts +0 -117
  517. package/src/layout/er/forceGrid.ts +0 -95
  518. package/src/layout/er/grid.ts +0 -185
  519. package/src/layout/er/index.ts +0 -68
  520. package/src/layout/er/mysqlWorkbench.ts +0 -345
  521. package/src/layout/er/type.ts +0 -39
  522. package/src/layout/force/force-in-a-box.ts +0 -400
  523. package/src/layout/force/force.ts +0 -391
  524. package/src/layout/force/index.ts +0 -1
  525. package/src/layout/force2/ForceNBody.ts +0 -128
  526. package/src/layout/force2/index.ts +0 -741
  527. package/src/layout/forceAtlas2/body.ts +0 -115
  528. package/src/layout/forceAtlas2/index.ts +0 -556
  529. package/src/layout/forceAtlas2/quad.ts +0 -115
  530. package/src/layout/forceAtlas2/quadTree.ts +0 -107
  531. package/src/layout/fruchterman.ts +0 -361
  532. package/src/layout/gForce.ts +0 -488
  533. package/src/layout/gpu/fruchterman.ts +0 -314
  534. package/src/layout/gpu/fruchtermanShader.ts +0 -203
  535. package/src/layout/gpu/gForce.ts +0 -407
  536. package/src/layout/gpu/gForceShader.ts +0 -220
  537. package/src/layout/grid.ts +0 -404
  538. package/src/layout/index.ts +0 -47
  539. package/src/layout/layout.ts +0 -110
  540. package/src/layout/mds.ts +0 -140
  541. package/src/layout/radial/index.ts +0 -1
  542. package/src/layout/radial/mds.ts +0 -51
  543. package/src/layout/radial/radial.ts +0 -500
  544. package/src/layout/radial/radialNonoverlapForce.ts +0 -189
  545. package/src/layout/random.ts +0 -75
  546. package/src/layout/types.ts +0 -496
  547. package/src/registy/index.ts +0 -43
  548. package/src/util/array.ts +0 -1
  549. package/src/util/function.ts +0 -64
  550. package/src/util/gpu.ts +0 -256
  551. package/src/util/index.ts +0 -6
  552. package/src/util/math.ts +0 -272
  553. package/src/util/number.ts +0 -8
  554. package/src/util/object.ts +0 -28
  555. package/src/util/string.ts +0 -18
@@ -1,420 +0,0 @@
1
- /**
2
- * @fileOverview random layout
3
- * @author shiwu.wyy@antfin.com
4
- */
5
- import { isNaN, isArray, isFunction, isNumber, isString, floydWarshall, getAdjMatrix, isObject } from "../../util";
6
- import { Base } from "../base";
7
- import MDS from "./mds";
8
- import RadialNonoverlapForce from "./radialNonoverlapForce";
9
- function getWeightMatrix(M) {
10
- const rows = M.length;
11
- const cols = M[0].length;
12
- const result = [];
13
- for (let i = 0; i < rows; i++) {
14
- const row = [];
15
- for (let j = 0; j < cols; j++) {
16
- if (M[i][j] !== 0) {
17
- row.push(1 / (M[i][j] * M[i][j]));
18
- }
19
- else {
20
- row.push(0);
21
- }
22
- }
23
- result.push(row);
24
- }
25
- return result;
26
- }
27
- function getIndexById(array, id) {
28
- let index = -1;
29
- array.forEach((a, i) => {
30
- if (a.id === id) {
31
- index = i;
32
- }
33
- });
34
- return index;
35
- }
36
- function getEDistance(p1, p2) {
37
- return Math.sqrt((p1[0] - p2[0]) * (p1[0] - p2[0]) + (p1[1] - p2[1]) * (p1[1] - p2[1]));
38
- }
39
- /**
40
- * 辐射状布局
41
- */
42
- export class RadialLayout extends Base {
43
- constructor(options) {
44
- super();
45
- /** 停止迭代的最大迭代数 */
46
- this.maxIteration = 1000;
47
- /** 中心点,默认为数据中第一个点 */
48
- this.focusNode = null;
49
- /** 每一圈半径 */
50
- this.unitRadius = null;
51
- /** 默认边长度 */
52
- this.linkDistance = 50;
53
- /** 是否防止重叠 */
54
- this.preventOverlap = false;
55
- /** 是否必须是严格的 radial 布局,即每一层的节点严格布局在一个环上。preventOverlap 为 true 时生效 */
56
- this.strictRadial = true;
57
- /** 防止重叠步骤的最大迭代次数 */
58
- this.maxPreventOverlapIteration = 200;
59
- this.sortStrength = 10;
60
- this.nodes = [];
61
- this.edges = [];
62
- this.updateCfg(options);
63
- }
64
- getDefaultCfg() {
65
- return {
66
- maxIteration: 1000,
67
- focusNode: null,
68
- unitRadius: null,
69
- linkDistance: 50,
70
- preventOverlap: false,
71
- nodeSize: undefined,
72
- nodeSpacing: undefined,
73
- strictRadial: true,
74
- maxPreventOverlapIteration: 200,
75
- sortBy: undefined,
76
- sortStrength: 10
77
- };
78
- }
79
- /**
80
- * 执行布局
81
- */
82
- execute() {
83
- const self = this;
84
- const nodes = self.nodes;
85
- const edges = self.edges || [];
86
- if (!nodes || nodes.length === 0) {
87
- if (self.onLayoutEnd)
88
- self.onLayoutEnd();
89
- return;
90
- }
91
- if (!self.width && typeof window !== "undefined") {
92
- self.width = window.innerWidth;
93
- }
94
- if (!self.height && typeof window !== "undefined") {
95
- self.height = window.innerHeight;
96
- }
97
- if (!self.center) {
98
- self.center = [self.width / 2, self.height / 2];
99
- }
100
- const center = self.center;
101
- if (nodes.length === 1) {
102
- nodes[0].x = center[0];
103
- nodes[0].y = center[1];
104
- if (self.onLayoutEnd)
105
- self.onLayoutEnd();
106
- return;
107
- }
108
- const linkDistance = self.linkDistance;
109
- // layout
110
- let focusNode = null;
111
- if (isString(self.focusNode)) {
112
- let found = false;
113
- for (let i = 0; i < nodes.length; i++) {
114
- if (nodes[i].id === self.focusNode) {
115
- focusNode = nodes[i];
116
- self.focusNode = focusNode;
117
- found = true;
118
- i = nodes.length;
119
- }
120
- }
121
- if (!found) {
122
- focusNode = null;
123
- }
124
- }
125
- else {
126
- focusNode = self.focusNode;
127
- }
128
- // default focus node
129
- if (!focusNode) {
130
- focusNode = nodes[0];
131
- self.focusNode = focusNode;
132
- }
133
- // the index of the focusNode in data
134
- let focusIndex = getIndexById(nodes, focusNode.id);
135
- if (focusIndex < 0)
136
- focusIndex = 0;
137
- self.focusIndex = focusIndex;
138
- // the graph-theoretic distance (shortest path distance) matrix
139
- const adjMatrix = getAdjMatrix({ nodes, edges }, false);
140
- const D = floydWarshall(adjMatrix);
141
- const maxDistance = self.maxToFocus(D, focusIndex);
142
- // replace first node in unconnected component to the circle at (maxDistance + 1)
143
- self.handleInfinity(D, focusIndex, maxDistance + 1);
144
- self.distances = D;
145
- // the shortest path distance from each node to focusNode
146
- const focusNodeD = D[focusIndex];
147
- const width = self.width || 500;
148
- const height = self.height || 500;
149
- let semiWidth = width - center[0] > center[0] ? center[0] : width - center[0];
150
- let semiHeight = height - center[1] > center[1] ? center[1] : height - center[1];
151
- if (semiWidth === 0) {
152
- semiWidth = width / 2;
153
- }
154
- if (semiHeight === 0) {
155
- semiHeight = height / 2;
156
- }
157
- // the maxRadius of the graph
158
- const maxRadius = semiHeight > semiWidth ? semiWidth : semiHeight;
159
- const maxD = Math.max(...focusNodeD);
160
- // the radius for each nodes away from focusNode
161
- const radii = [];
162
- focusNodeD.forEach((value, i) => {
163
- if (!self.unitRadius) {
164
- self.unitRadius = maxRadius / maxD;
165
- }
166
- radii[i] = value * self.unitRadius;
167
- });
168
- self.radii = radii;
169
- const eIdealD = self.eIdealDisMatrix();
170
- // const eIdealD = scaleMatrix(D, linkDistance);
171
- self.eIdealDistances = eIdealD;
172
- // the weight matrix, Wij = 1 / dij^(-2)
173
- const W = getWeightMatrix(eIdealD);
174
- self.weights = W;
175
- // the initial positions from mds
176
- const mds = new MDS({ linkDistance, distances: eIdealD });
177
- let positions = mds.layout();
178
- positions.forEach((p) => {
179
- if (isNaN(p[0])) {
180
- p[0] = Math.random() * linkDistance;
181
- }
182
- if (isNaN(p[1])) {
183
- p[1] = Math.random() * linkDistance;
184
- }
185
- });
186
- self.positions = positions;
187
- positions.forEach((p, i) => {
188
- nodes[i].x = p[0] + center[0];
189
- nodes[i].y = p[1] + center[1];
190
- });
191
- // move the graph to origin, centered at focusNode
192
- positions.forEach((p) => {
193
- p[0] -= positions[focusIndex][0];
194
- p[1] -= positions[focusIndex][1];
195
- });
196
- self.run();
197
- const preventOverlap = self.preventOverlap;
198
- const nodeSize = self.nodeSize;
199
- let nodeSizeFunc;
200
- const strictRadial = self.strictRadial;
201
- // stagger the overlapped nodes
202
- if (preventOverlap) {
203
- const nodeSpacing = self.nodeSpacing;
204
- let nodeSpacingFunc;
205
- if (isNumber(nodeSpacing)) {
206
- nodeSpacingFunc = () => nodeSpacing;
207
- }
208
- else if (isFunction(nodeSpacing)) {
209
- nodeSpacingFunc = nodeSpacing;
210
- }
211
- else {
212
- nodeSpacingFunc = () => 0;
213
- }
214
- if (!nodeSize) {
215
- nodeSizeFunc = (d) => {
216
- if (d.size) {
217
- if (isArray(d.size)) {
218
- const res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
219
- return res + nodeSpacingFunc(d);
220
- }
221
- if (isObject(d.size)) {
222
- const res = d.size.width > d.size.height ? d.size.width : d.size.height;
223
- return res + nodeSpacingFunc(d);
224
- }
225
- return d.size + nodeSpacingFunc(d);
226
- }
227
- return 10 + nodeSpacingFunc(d);
228
- };
229
- }
230
- else if (isArray(nodeSize)) {
231
- nodeSizeFunc = (d) => {
232
- const res = nodeSize[0] > nodeSize[1] ? nodeSize[0] : nodeSize[1];
233
- return res + nodeSpacingFunc(d);
234
- };
235
- }
236
- else {
237
- nodeSizeFunc = (d) => nodeSize + nodeSpacingFunc(d);
238
- }
239
- const nonoverlapForceParams = {
240
- nodes,
241
- nodeSizeFunc,
242
- adjMatrix,
243
- positions,
244
- radii,
245
- height,
246
- width,
247
- strictRadial,
248
- focusID: focusIndex,
249
- iterations: self.maxPreventOverlapIteration || 200,
250
- k: positions.length / 4.5
251
- };
252
- const nonoverlapForce = new RadialNonoverlapForce(nonoverlapForceParams);
253
- positions = nonoverlapForce.layout();
254
- }
255
- // move the graph to center
256
- positions.forEach((p, i) => {
257
- nodes[i].x = p[0] + center[0];
258
- nodes[i].y = p[1] + center[1];
259
- });
260
- if (self.onLayoutEnd)
261
- self.onLayoutEnd();
262
- return {
263
- nodes,
264
- edges
265
- };
266
- }
267
- run() {
268
- const self = this;
269
- const maxIteration = self.maxIteration;
270
- const positions = self.positions || [];
271
- const W = self.weights || [];
272
- const eIdealDis = self.eIdealDistances || [];
273
- const radii = self.radii || [];
274
- for (let i = 0; i <= maxIteration; i++) {
275
- const param = i / maxIteration;
276
- self.oneIteration(param, positions, radii, eIdealDis, W);
277
- }
278
- }
279
- oneIteration(param, positions, radii, D, W) {
280
- const self = this;
281
- const vparam = 1 - param;
282
- const focusIndex = self.focusIndex;
283
- positions.forEach((v, i) => {
284
- // v
285
- const originDis = getEDistance(v, [0, 0]);
286
- const reciODis = originDis === 0 ? 0 : 1 / originDis;
287
- if (i === focusIndex) {
288
- return;
289
- }
290
- let xMolecule = 0;
291
- let yMolecule = 0;
292
- let denominator = 0;
293
- positions.forEach((u, j) => {
294
- // u
295
- if (i === j) {
296
- return;
297
- }
298
- // the euclidean distance between v and u
299
- const edis = getEDistance(v, u);
300
- const reciEdis = edis === 0 ? 0 : 1 / edis;
301
- const idealDis = D[j][i];
302
- // same for x and y
303
- denominator += W[i][j];
304
- // x
305
- xMolecule += W[i][j] * (u[0] + idealDis * (v[0] - u[0]) * reciEdis);
306
- // y
307
- yMolecule += W[i][j] * (u[1] + idealDis * (v[1] - u[1]) * reciEdis);
308
- });
309
- const reciR = radii[i] === 0 ? 0 : 1 / radii[i];
310
- denominator *= vparam;
311
- denominator += param * reciR * reciR;
312
- // x
313
- xMolecule *= vparam;
314
- xMolecule += param * reciR * v[0] * reciODis;
315
- v[0] = xMolecule / denominator;
316
- // y
317
- yMolecule *= vparam;
318
- yMolecule += param * reciR * v[1] * reciODis;
319
- v[1] = yMolecule / denominator;
320
- });
321
- }
322
- eIdealDisMatrix() {
323
- const self = this;
324
- const nodes = self.nodes;
325
- if (!nodes)
326
- return [];
327
- const D = self.distances;
328
- const linkDis = self.linkDistance;
329
- const radii = self.radii || [];
330
- const unitRadius = self.unitRadius || 50;
331
- const result = [];
332
- if (D) {
333
- D.forEach((row, i) => {
334
- const newRow = [];
335
- row.forEach((v, j) => {
336
- if (i === j) {
337
- newRow.push(0);
338
- }
339
- else if (radii[i] === radii[j]) {
340
- // i and j are on the same circle
341
- if (self.sortBy === "data") {
342
- // sort the nodes on the same circle according to the ordering of the data
343
- newRow.push((v * (Math.abs(i - j) * self.sortStrength)) /
344
- (radii[i] / unitRadius));
345
- }
346
- else if (self.sortBy) {
347
- // sort the nodes on the same circle according to the attributes
348
- let iValue = nodes[i][self.sortBy] || 0;
349
- let jValue = nodes[j][self.sortBy] || 0;
350
- if (isString(iValue)) {
351
- iValue = iValue.charCodeAt(0);
352
- }
353
- if (isString(jValue)) {
354
- jValue = jValue.charCodeAt(0);
355
- }
356
- newRow.push((v * (Math.abs(iValue - jValue) * self.sortStrength)) /
357
- (radii[i] / unitRadius));
358
- }
359
- else {
360
- newRow.push((v * linkDis) / (radii[i] / unitRadius));
361
- }
362
- }
363
- else {
364
- // i and j are on different circle
365
- // i and j are on different circle
366
- const link = (linkDis + unitRadius) / 2;
367
- newRow.push(v * link);
368
- }
369
- });
370
- result.push(newRow);
371
- });
372
- }
373
- return result;
374
- }
375
- handleInfinity(matrix, focusIndex, step) {
376
- const length = matrix.length;
377
- // 遍历 matrix 中遍历 focus 对应行
378
- for (let i = 0; i < length; i++) {
379
- // matrix 关注点对应行的 Inf 项
380
- if (matrix[focusIndex][i] === Infinity) {
381
- matrix[focusIndex][i] = step;
382
- matrix[i][focusIndex] = step;
383
- // 遍历 matrix 中的 i 行,i 行中非 Inf 项若在 focus 行为 Inf,则替换 focus 行的那个 Inf
384
- for (let j = 0; j < length; j++) {
385
- if (matrix[i][j] !== Infinity && matrix[focusIndex][j] === Infinity) {
386
- matrix[focusIndex][j] = step + matrix[i][j];
387
- matrix[j][focusIndex] = step + matrix[i][j];
388
- }
389
- }
390
- }
391
- }
392
- // 处理其他行的 Inf。根据该行对应点与 focus 距离以及 Inf 项点 与 focus 距离,决定替换值
393
- for (let i = 0; i < length; i++) {
394
- if (i === focusIndex) {
395
- continue;
396
- }
397
- for (let j = 0; j < length; j++) {
398
- if (matrix[i][j] === Infinity) {
399
- let minus = Math.abs(matrix[focusIndex][i] - matrix[focusIndex][j]);
400
- minus = minus === 0 ? 1 : minus;
401
- matrix[i][j] = minus;
402
- }
403
- }
404
- }
405
- }
406
- maxToFocus(matrix, focusIndex) {
407
- let max = 0;
408
- for (let i = 0; i < matrix[focusIndex].length; i++) {
409
- if (matrix[focusIndex][i] === Infinity) {
410
- continue;
411
- }
412
- max = matrix[focusIndex][i] > max ? matrix[focusIndex][i] : max;
413
- }
414
- return max;
415
- }
416
- getType() {
417
- return "radial";
418
- }
419
- }
420
- //# sourceMappingURL=radial.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"radial.js","sourceRoot":"","sources":["../../../src/layout/radial/radial.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { Matrix, PointTuple } from '../types';
2
- export type RadialNonoverlapForceParam = {
3
- positions: PointTuple[];
4
- adjMatrix: Matrix[];
5
- focusID: number;
6
- radii: number[];
7
- iterations?: number;
8
- height?: number;
9
- width?: number;
10
- speed?: number;
11
- gravity?: number;
12
- nodeSizeFunc: (node: any) => number;
13
- k: number;
14
- strictRadial: boolean;
15
- nodes: any[];
16
- };
17
- export default class RadialNonoverlapForce {
18
- /** node positions */
19
- positions: PointTuple[];
20
- /** adjacency matrix */
21
- adjMatrix: Matrix[];
22
- /** focus node */
23
- focusID: number;
24
- /** radii */
25
- radii: number[];
26
- /** the number of iterations */
27
- iterations: number;
28
- /** the height of the canvas */
29
- height: number;
30
- /** the width of the canvas */
31
- width: number;
32
- /** the moving speed */
33
- speed: number;
34
- /** the gravity */
35
- gravity: number;
36
- /** the node size */
37
- nodeSizeFunc: (node: any) => number;
38
- /** the strength of forces */
39
- k: number;
40
- /** if each circle can be separated into subcircles to avoid overlappings */
41
- strictRadial: boolean;
42
- /** the nodes data */
43
- nodes: any[];
44
- private maxDisplace;
45
- private disp;
46
- constructor(params: RadialNonoverlapForceParam);
47
- layout(): PointTuple[];
48
- private getRepulsion;
49
- private updatePositions;
50
- }
@@ -1,123 +0,0 @@
1
- const SPEED_DIVISOR = 800;
2
- export default class RadialNonoverlapForce {
3
- constructor(params) {
4
- this.disp = [];
5
- this.positions = params.positions;
6
- this.adjMatrix = params.adjMatrix;
7
- this.focusID = params.focusID;
8
- this.radii = params.radii;
9
- this.iterations = params.iterations || 10;
10
- this.height = params.height || 10;
11
- this.width = params.width || 10;
12
- this.speed = params.speed || 100;
13
- this.gravity = params.gravity || 10;
14
- this.nodeSizeFunc = params.nodeSizeFunc;
15
- this.k = params.k || 5;
16
- this.strictRadial = params.strictRadial;
17
- this.nodes = params.nodes;
18
- }
19
- layout() {
20
- const self = this;
21
- const positions = self.positions;
22
- const disp = [];
23
- const iterations = self.iterations;
24
- const maxDisplace = self.width / 10;
25
- self.maxDisplace = maxDisplace;
26
- self.disp = disp;
27
- for (let i = 0; i < iterations; i++) {
28
- positions.forEach((_, k) => {
29
- disp[k] = { x: 0, y: 0 };
30
- });
31
- // 给重叠的节点增加斥力
32
- self.getRepulsion();
33
- self.updatePositions();
34
- }
35
- return positions;
36
- }
37
- getRepulsion() {
38
- const self = this;
39
- const positions = self.positions;
40
- const nodes = self.nodes;
41
- const disp = self.disp;
42
- const k = self.k;
43
- const radii = self.radii || [];
44
- positions.forEach((v, i) => {
45
- disp[i] = { x: 0, y: 0 };
46
- positions.forEach((u, j) => {
47
- if (i === j) {
48
- return;
49
- }
50
- // v and u are not on the same circle, return
51
- if (radii[i] !== radii[j]) {
52
- return;
53
- }
54
- let vecx = v[0] - u[0];
55
- let vecy = v[1] - u[1];
56
- let vecLength = Math.sqrt(vecx * vecx + vecy * vecy);
57
- if (vecLength === 0) {
58
- vecLength = 1;
59
- const sign = i > j ? 1 : -1;
60
- vecx = 0.01 * sign;
61
- vecy = 0.01 * sign;
62
- }
63
- // these two nodes overlap
64
- if (vecLength < self.nodeSizeFunc(nodes[i]) / 2 + self.nodeSizeFunc(nodes[j]) / 2) {
65
- const common = (k * k) / vecLength;
66
- disp[i].x += (vecx / vecLength) * common;
67
- disp[i].y += (vecy / vecLength) * common;
68
- }
69
- });
70
- });
71
- }
72
- updatePositions() {
73
- const self = this;
74
- const positions = self.positions;
75
- const disp = self.disp;
76
- const speed = self.speed;
77
- const strictRadial = self.strictRadial;
78
- const f = self.focusID;
79
- const maxDisplace = self.maxDisplace || self.width / 10;
80
- if (strictRadial) {
81
- disp.forEach((di, i) => {
82
- const vx = positions[i][0] - positions[f][0];
83
- const vy = positions[i][1] - positions[f][1];
84
- const vLength = Math.sqrt(vx * vx + vy * vy);
85
- let vpx = vy / vLength;
86
- let vpy = -vx / vLength;
87
- const diLength = Math.sqrt(di.x * di.x + di.y * di.y);
88
- let alpha = Math.acos((vpx * di.x + vpy * di.y) / diLength);
89
- if (alpha > Math.PI / 2) {
90
- alpha -= Math.PI / 2;
91
- vpx *= -1;
92
- vpy *= -1;
93
- }
94
- const tdispLength = Math.cos(alpha) * diLength;
95
- di.x = vpx * tdispLength;
96
- di.y = vpy * tdispLength;
97
- });
98
- }
99
- // move
100
- const radii = self.radii;
101
- positions.forEach((n, i) => {
102
- if (i === f) {
103
- return;
104
- }
105
- const distLength = Math.sqrt(disp[i].x * disp[i].x + disp[i].y * disp[i].y);
106
- if (distLength > 0 && i !== f) {
107
- const limitedDist = Math.min(maxDisplace * (speed / SPEED_DIVISOR), distLength);
108
- n[0] += (disp[i].x / distLength) * limitedDist;
109
- n[1] += (disp[i].y / distLength) * limitedDist;
110
- if (strictRadial) {
111
- let vx = n[0] - positions[f][0];
112
- let vy = n[1] - positions[f][1];
113
- const nfDis = Math.sqrt(vx * vx + vy * vy);
114
- vx = (vx / nfDis) * radii[i];
115
- vy = (vy / nfDis) * radii[i];
116
- n[0] = positions[f][0] + vx;
117
- n[1] = positions[f][1] + vy;
118
- }
119
- }
120
- });
121
- }
122
- }
123
- //# sourceMappingURL=radialNonoverlapForce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"radialNonoverlapForce.js","sourceRoot":"","sources":["../../../src/layout/radial/radialNonoverlapForce.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * @fileOverview random layout
3
- * @author shiwu.wyy@antfin.com
4
- */
5
- import { PointTuple, OutNode, Edge, RandomLayoutOptions } from "./types";
6
- import { Base } from "./base";
7
- /**
8
- * 随机布局
9
- */
10
- export declare class RandomLayout extends Base {
11
- /** 布局中心 */
12
- center: PointTuple;
13
- /** 宽度 */
14
- width: number;
15
- /** 高度 */
16
- height: number;
17
- nodes: OutNode[];
18
- edges: Edge[];
19
- /** 迭代结束的回调函数 */
20
- onLayoutEnd: () => void;
21
- constructor(options?: RandomLayoutOptions);
22
- getDefaultCfg(): {
23
- center: number[];
24
- width: number;
25
- height: number;
26
- };
27
- /**
28
- * 执行布局
29
- */
30
- execute(): {
31
- nodes: OutNode[];
32
- edges: Edge[];
33
- };
34
- getType(): string;
35
- }