@antv/layout 0.3.12 → 1.0.0-alpha.1

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 +4 -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 +3 -3
  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 -354
  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 -48
  242. package/es/util/math.js +0 -276
  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 -390
  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 -289
  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 -397
  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 -294
  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,445 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileOverview random layout
4
- * @author shiwu.wyy@antfin.com
5
- */
6
- var __extends = (this && this.__extends) || (function () {
7
- var extendStatics = function (d, b) {
8
- extendStatics = Object.setPrototypeOf ||
9
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11
- return extendStatics(d, b);
12
- };
13
- return function (d, b) {
14
- if (typeof b !== "function" && b !== null)
15
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
16
- extendStatics(d, b);
17
- function __() { this.constructor = d; }
18
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
19
- };
20
- })();
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.RadialLayout = void 0;
26
- var util_1 = require("../../util");
27
- var base_1 = require("../base");
28
- var mds_1 = __importDefault(require("./mds"));
29
- var radialNonoverlapForce_1 = __importDefault(require("./radialNonoverlapForce"));
30
- function getWeightMatrix(M) {
31
- var rows = M.length;
32
- var cols = M[0].length;
33
- var result = [];
34
- for (var i = 0; i < rows; i++) {
35
- var row = [];
36
- for (var j = 0; j < cols; j++) {
37
- if (M[i][j] !== 0) {
38
- row.push(1 / (M[i][j] * M[i][j]));
39
- }
40
- else {
41
- row.push(0);
42
- }
43
- }
44
- result.push(row);
45
- }
46
- return result;
47
- }
48
- function getIndexById(array, id) {
49
- var index = -1;
50
- array.forEach(function (a, i) {
51
- if (a.id === id) {
52
- index = i;
53
- }
54
- });
55
- return index;
56
- }
57
- function getEDistance(p1, p2) {
58
- return Math.sqrt((p1[0] - p2[0]) * (p1[0] - p2[0]) + (p1[1] - p2[1]) * (p1[1] - p2[1]));
59
- }
60
- /**
61
- * 辐射状布局
62
- */
63
- var RadialLayout = /** @class */ (function (_super) {
64
- __extends(RadialLayout, _super);
65
- function RadialLayout(options) {
66
- var _this = _super.call(this) || this;
67
- /** 停止迭代的最大迭代数 */
68
- _this.maxIteration = 1000;
69
- /** 中心点,默认为数据中第一个点 */
70
- _this.focusNode = null;
71
- /** 每一圈半径 */
72
- _this.unitRadius = null;
73
- /** 默认边长度 */
74
- _this.linkDistance = 50;
75
- /** 是否防止重叠 */
76
- _this.preventOverlap = false;
77
- /** 是否必须是严格的 radial 布局,即每一层的节点严格布局在一个环上。preventOverlap 为 true 时生效 */
78
- _this.strictRadial = true;
79
- /** 防止重叠步骤的最大迭代次数 */
80
- _this.maxPreventOverlapIteration = 200;
81
- _this.sortStrength = 10;
82
- _this.nodes = [];
83
- _this.edges = [];
84
- _this.updateCfg(options);
85
- return _this;
86
- }
87
- RadialLayout.prototype.getDefaultCfg = function () {
88
- return {
89
- maxIteration: 1000,
90
- focusNode: null,
91
- unitRadius: null,
92
- linkDistance: 50,
93
- preventOverlap: false,
94
- nodeSize: undefined,
95
- nodeSpacing: undefined,
96
- strictRadial: true,
97
- maxPreventOverlapIteration: 200,
98
- sortBy: undefined,
99
- sortStrength: 10
100
- };
101
- };
102
- /**
103
- * 执行布局
104
- */
105
- RadialLayout.prototype.execute = function () {
106
- var self = this;
107
- var nodes = self.nodes;
108
- var edges = self.edges || [];
109
- if (!nodes || nodes.length === 0) {
110
- if (self.onLayoutEnd)
111
- self.onLayoutEnd();
112
- return;
113
- }
114
- if (!self.width && typeof window !== "undefined") {
115
- self.width = window.innerWidth;
116
- }
117
- if (!self.height && typeof window !== "undefined") {
118
- self.height = window.innerHeight;
119
- }
120
- if (!self.center) {
121
- self.center = [self.width / 2, self.height / 2];
122
- }
123
- var center = self.center;
124
- if (nodes.length === 1) {
125
- nodes[0].x = center[0];
126
- nodes[0].y = center[1];
127
- if (self.onLayoutEnd)
128
- self.onLayoutEnd();
129
- return;
130
- }
131
- var linkDistance = self.linkDistance;
132
- // layout
133
- var focusNode = null;
134
- if ((0, util_1.isString)(self.focusNode)) {
135
- var found = false;
136
- for (var i = 0; i < nodes.length; i++) {
137
- if (nodes[i].id === self.focusNode) {
138
- focusNode = nodes[i];
139
- self.focusNode = focusNode;
140
- found = true;
141
- i = nodes.length;
142
- }
143
- }
144
- if (!found) {
145
- focusNode = null;
146
- }
147
- }
148
- else {
149
- focusNode = self.focusNode;
150
- }
151
- // default focus node
152
- if (!focusNode) {
153
- focusNode = nodes[0];
154
- self.focusNode = focusNode;
155
- }
156
- // the index of the focusNode in data
157
- var focusIndex = getIndexById(nodes, focusNode.id);
158
- if (focusIndex < 0)
159
- focusIndex = 0;
160
- self.focusIndex = focusIndex;
161
- // the graph-theoretic distance (shortest path distance) matrix
162
- var adjMatrix = (0, util_1.getAdjMatrix)({ nodes: nodes, edges: edges }, false);
163
- var D = (0, util_1.floydWarshall)(adjMatrix);
164
- var maxDistance = self.maxToFocus(D, focusIndex);
165
- // replace first node in unconnected component to the circle at (maxDistance + 1)
166
- self.handleInfinity(D, focusIndex, maxDistance + 1);
167
- self.distances = D;
168
- // the shortest path distance from each node to focusNode
169
- var focusNodeD = D[focusIndex];
170
- var width = self.width || 500;
171
- var height = self.height || 500;
172
- var semiWidth = width - center[0] > center[0] ? center[0] : width - center[0];
173
- var semiHeight = height - center[1] > center[1] ? center[1] : height - center[1];
174
- if (semiWidth === 0) {
175
- semiWidth = width / 2;
176
- }
177
- if (semiHeight === 0) {
178
- semiHeight = height / 2;
179
- }
180
- // the maxRadius of the graph
181
- var maxRadius = semiHeight > semiWidth ? semiWidth : semiHeight;
182
- var maxD = Math.max.apply(Math, focusNodeD);
183
- // the radius for each nodes away from focusNode
184
- var radii = [];
185
- focusNodeD.forEach(function (value, i) {
186
- if (!self.unitRadius) {
187
- self.unitRadius = maxRadius / maxD;
188
- }
189
- radii[i] = value * self.unitRadius;
190
- });
191
- self.radii = radii;
192
- var eIdealD = self.eIdealDisMatrix();
193
- // const eIdealD = scaleMatrix(D, linkDistance);
194
- self.eIdealDistances = eIdealD;
195
- // the weight matrix, Wij = 1 / dij^(-2)
196
- var W = getWeightMatrix(eIdealD);
197
- self.weights = W;
198
- // the initial positions from mds
199
- var mds = new mds_1.default({ linkDistance: linkDistance, distances: eIdealD });
200
- var positions = mds.layout();
201
- positions.forEach(function (p) {
202
- if ((0, util_1.isNaN)(p[0])) {
203
- p[0] = Math.random() * linkDistance;
204
- }
205
- if ((0, util_1.isNaN)(p[1])) {
206
- p[1] = Math.random() * linkDistance;
207
- }
208
- });
209
- self.positions = positions;
210
- positions.forEach(function (p, i) {
211
- nodes[i].x = p[0] + center[0];
212
- nodes[i].y = p[1] + center[1];
213
- });
214
- // move the graph to origin, centered at focusNode
215
- positions.forEach(function (p) {
216
- p[0] -= positions[focusIndex][0];
217
- p[1] -= positions[focusIndex][1];
218
- });
219
- self.run();
220
- var preventOverlap = self.preventOverlap;
221
- var nodeSize = self.nodeSize;
222
- var nodeSizeFunc;
223
- var strictRadial = self.strictRadial;
224
- // stagger the overlapped nodes
225
- if (preventOverlap) {
226
- var nodeSpacing_1 = self.nodeSpacing;
227
- var nodeSpacingFunc_1;
228
- if ((0, util_1.isNumber)(nodeSpacing_1)) {
229
- nodeSpacingFunc_1 = function () { return nodeSpacing_1; };
230
- }
231
- else if ((0, util_1.isFunction)(nodeSpacing_1)) {
232
- nodeSpacingFunc_1 = nodeSpacing_1;
233
- }
234
- else {
235
- nodeSpacingFunc_1 = function () { return 0; };
236
- }
237
- if (!nodeSize) {
238
- nodeSizeFunc = function (d) {
239
- if (d.size) {
240
- if ((0, util_1.isArray)(d.size)) {
241
- var res = d.size[0] > d.size[1] ? d.size[0] : d.size[1];
242
- return res + nodeSpacingFunc_1(d);
243
- }
244
- if ((0, util_1.isObject)(d.size)) {
245
- var res = d.size.width > d.size.height ? d.size.width : d.size.height;
246
- return res + nodeSpacingFunc_1(d);
247
- }
248
- return d.size + nodeSpacingFunc_1(d);
249
- }
250
- return 10 + nodeSpacingFunc_1(d);
251
- };
252
- }
253
- else if ((0, util_1.isArray)(nodeSize)) {
254
- nodeSizeFunc = function (d) {
255
- var res = nodeSize[0] > nodeSize[1] ? nodeSize[0] : nodeSize[1];
256
- return res + nodeSpacingFunc_1(d);
257
- };
258
- }
259
- else {
260
- nodeSizeFunc = function (d) { return nodeSize + nodeSpacingFunc_1(d); };
261
- }
262
- var nonoverlapForceParams = {
263
- nodes: nodes,
264
- nodeSizeFunc: nodeSizeFunc,
265
- adjMatrix: adjMatrix,
266
- positions: positions,
267
- radii: radii,
268
- height: height,
269
- width: width,
270
- strictRadial: strictRadial,
271
- focusID: focusIndex,
272
- iterations: self.maxPreventOverlapIteration || 200,
273
- k: positions.length / 4.5
274
- };
275
- var nonoverlapForce = new radialNonoverlapForce_1.default(nonoverlapForceParams);
276
- positions = nonoverlapForce.layout();
277
- }
278
- // move the graph to center
279
- positions.forEach(function (p, i) {
280
- nodes[i].x = p[0] + center[0];
281
- nodes[i].y = p[1] + center[1];
282
- });
283
- if (self.onLayoutEnd)
284
- self.onLayoutEnd();
285
- return {
286
- nodes: nodes,
287
- edges: edges
288
- };
289
- };
290
- RadialLayout.prototype.run = function () {
291
- var self = this;
292
- var maxIteration = self.maxIteration;
293
- var positions = self.positions || [];
294
- var W = self.weights || [];
295
- var eIdealDis = self.eIdealDistances || [];
296
- var radii = self.radii || [];
297
- for (var i = 0; i <= maxIteration; i++) {
298
- var param = i / maxIteration;
299
- self.oneIteration(param, positions, radii, eIdealDis, W);
300
- }
301
- };
302
- RadialLayout.prototype.oneIteration = function (param, positions, radii, D, W) {
303
- var self = this;
304
- var vparam = 1 - param;
305
- var focusIndex = self.focusIndex;
306
- positions.forEach(function (v, i) {
307
- // v
308
- var originDis = getEDistance(v, [0, 0]);
309
- var reciODis = originDis === 0 ? 0 : 1 / originDis;
310
- if (i === focusIndex) {
311
- return;
312
- }
313
- var xMolecule = 0;
314
- var yMolecule = 0;
315
- var denominator = 0;
316
- positions.forEach(function (u, j) {
317
- // u
318
- if (i === j) {
319
- return;
320
- }
321
- // the euclidean distance between v and u
322
- var edis = getEDistance(v, u);
323
- var reciEdis = edis === 0 ? 0 : 1 / edis;
324
- var idealDis = D[j][i];
325
- // same for x and y
326
- denominator += W[i][j];
327
- // x
328
- xMolecule += W[i][j] * (u[0] + idealDis * (v[0] - u[0]) * reciEdis);
329
- // y
330
- yMolecule += W[i][j] * (u[1] + idealDis * (v[1] - u[1]) * reciEdis);
331
- });
332
- var reciR = radii[i] === 0 ? 0 : 1 / radii[i];
333
- denominator *= vparam;
334
- denominator += param * reciR * reciR;
335
- // x
336
- xMolecule *= vparam;
337
- xMolecule += param * reciR * v[0] * reciODis;
338
- v[0] = xMolecule / denominator;
339
- // y
340
- yMolecule *= vparam;
341
- yMolecule += param * reciR * v[1] * reciODis;
342
- v[1] = yMolecule / denominator;
343
- });
344
- };
345
- RadialLayout.prototype.eIdealDisMatrix = function () {
346
- var self = this;
347
- var nodes = self.nodes;
348
- if (!nodes)
349
- return [];
350
- var D = self.distances;
351
- var linkDis = self.linkDistance;
352
- var radii = self.radii || [];
353
- var unitRadius = self.unitRadius || 50;
354
- var result = [];
355
- if (D) {
356
- D.forEach(function (row, i) {
357
- var newRow = [];
358
- row.forEach(function (v, j) {
359
- if (i === j) {
360
- newRow.push(0);
361
- }
362
- else if (radii[i] === radii[j]) {
363
- // i and j are on the same circle
364
- if (self.sortBy === "data") {
365
- // sort the nodes on the same circle according to the ordering of the data
366
- newRow.push((v * (Math.abs(i - j) * self.sortStrength)) /
367
- (radii[i] / unitRadius));
368
- }
369
- else if (self.sortBy) {
370
- // sort the nodes on the same circle according to the attributes
371
- var iValue = nodes[i][self.sortBy] || 0;
372
- var jValue = nodes[j][self.sortBy] || 0;
373
- if ((0, util_1.isString)(iValue)) {
374
- iValue = iValue.charCodeAt(0);
375
- }
376
- if ((0, util_1.isString)(jValue)) {
377
- jValue = jValue.charCodeAt(0);
378
- }
379
- newRow.push((v * (Math.abs(iValue - jValue) * self.sortStrength)) /
380
- (radii[i] / unitRadius));
381
- }
382
- else {
383
- newRow.push((v * linkDis) / (radii[i] / unitRadius));
384
- }
385
- }
386
- else {
387
- // i and j are on different circle
388
- // i and j are on different circle
389
- var link = (linkDis + unitRadius) / 2;
390
- newRow.push(v * link);
391
- }
392
- });
393
- result.push(newRow);
394
- });
395
- }
396
- return result;
397
- };
398
- RadialLayout.prototype.handleInfinity = function (matrix, focusIndex, step) {
399
- var length = matrix.length;
400
- // 遍历 matrix 中遍历 focus 对应行
401
- for (var i = 0; i < length; i++) {
402
- // matrix 关注点对应行的 Inf 项
403
- if (matrix[focusIndex][i] === Infinity) {
404
- matrix[focusIndex][i] = step;
405
- matrix[i][focusIndex] = step;
406
- // 遍历 matrix 中的 i 行,i 行中非 Inf 项若在 focus 行为 Inf,则替换 focus 行的那个 Inf
407
- for (var j = 0; j < length; j++) {
408
- if (matrix[i][j] !== Infinity && matrix[focusIndex][j] === Infinity) {
409
- matrix[focusIndex][j] = step + matrix[i][j];
410
- matrix[j][focusIndex] = step + matrix[i][j];
411
- }
412
- }
413
- }
414
- }
415
- // 处理其他行的 Inf。根据该行对应点与 focus 距离以及 Inf 项点 与 focus 距离,决定替换值
416
- for (var i = 0; i < length; i++) {
417
- if (i === focusIndex) {
418
- continue;
419
- }
420
- for (var j = 0; j < length; j++) {
421
- if (matrix[i][j] === Infinity) {
422
- var minus = Math.abs(matrix[focusIndex][i] - matrix[focusIndex][j]);
423
- minus = minus === 0 ? 1 : minus;
424
- matrix[i][j] = minus;
425
- }
426
- }
427
- }
428
- };
429
- RadialLayout.prototype.maxToFocus = function (matrix, focusIndex) {
430
- var max = 0;
431
- for (var i = 0; i < matrix[focusIndex].length; i++) {
432
- if (matrix[focusIndex][i] === Infinity) {
433
- continue;
434
- }
435
- max = matrix[focusIndex][i] > max ? matrix[focusIndex][i] : max;
436
- }
437
- return max;
438
- };
439
- RadialLayout.prototype.getType = function () {
440
- return "radial";
441
- };
442
- return RadialLayout;
443
- }(base_1.Base));
444
- exports.RadialLayout = RadialLayout;
445
- //# 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,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var SPEED_DIVISOR = 800;
4
- var RadialNonoverlapForce = /** @class */ (function () {
5
- function RadialNonoverlapForce(params) {
6
- this.disp = [];
7
- this.positions = params.positions;
8
- this.adjMatrix = params.adjMatrix;
9
- this.focusID = params.focusID;
10
- this.radii = params.radii;
11
- this.iterations = params.iterations || 10;
12
- this.height = params.height || 10;
13
- this.width = params.width || 10;
14
- this.speed = params.speed || 100;
15
- this.gravity = params.gravity || 10;
16
- this.nodeSizeFunc = params.nodeSizeFunc;
17
- this.k = params.k || 5;
18
- this.strictRadial = params.strictRadial;
19
- this.nodes = params.nodes;
20
- }
21
- RadialNonoverlapForce.prototype.layout = function () {
22
- var self = this;
23
- var positions = self.positions;
24
- var disp = [];
25
- var iterations = self.iterations;
26
- var maxDisplace = self.width / 10;
27
- self.maxDisplace = maxDisplace;
28
- self.disp = disp;
29
- for (var i = 0; i < iterations; i++) {
30
- positions.forEach(function (_, k) {
31
- disp[k] = { x: 0, y: 0 };
32
- });
33
- // 给重叠的节点增加斥力
34
- self.getRepulsion();
35
- self.updatePositions();
36
- }
37
- return positions;
38
- };
39
- RadialNonoverlapForce.prototype.getRepulsion = function () {
40
- var self = this;
41
- var positions = self.positions;
42
- var nodes = self.nodes;
43
- var disp = self.disp;
44
- var k = self.k;
45
- var radii = self.radii || [];
46
- positions.forEach(function (v, i) {
47
- disp[i] = { x: 0, y: 0 };
48
- positions.forEach(function (u, j) {
49
- if (i === j) {
50
- return;
51
- }
52
- // v and u are not on the same circle, return
53
- if (radii[i] !== radii[j]) {
54
- return;
55
- }
56
- var vecx = v[0] - u[0];
57
- var vecy = v[1] - u[1];
58
- var vecLength = Math.sqrt(vecx * vecx + vecy * vecy);
59
- if (vecLength === 0) {
60
- vecLength = 1;
61
- var sign = i > j ? 1 : -1;
62
- vecx = 0.01 * sign;
63
- vecy = 0.01 * sign;
64
- }
65
- // these two nodes overlap
66
- if (vecLength < self.nodeSizeFunc(nodes[i]) / 2 + self.nodeSizeFunc(nodes[j]) / 2) {
67
- var common = (k * k) / vecLength;
68
- disp[i].x += (vecx / vecLength) * common;
69
- disp[i].y += (vecy / vecLength) * common;
70
- }
71
- });
72
- });
73
- };
74
- RadialNonoverlapForce.prototype.updatePositions = function () {
75
- var self = this;
76
- var positions = self.positions;
77
- var disp = self.disp;
78
- var speed = self.speed;
79
- var strictRadial = self.strictRadial;
80
- var f = self.focusID;
81
- var maxDisplace = self.maxDisplace || self.width / 10;
82
- if (strictRadial) {
83
- disp.forEach(function (di, i) {
84
- var vx = positions[i][0] - positions[f][0];
85
- var vy = positions[i][1] - positions[f][1];
86
- var vLength = Math.sqrt(vx * vx + vy * vy);
87
- var vpx = vy / vLength;
88
- var vpy = -vx / vLength;
89
- var diLength = Math.sqrt(di.x * di.x + di.y * di.y);
90
- var alpha = Math.acos((vpx * di.x + vpy * di.y) / diLength);
91
- if (alpha > Math.PI / 2) {
92
- alpha -= Math.PI / 2;
93
- vpx *= -1;
94
- vpy *= -1;
95
- }
96
- var tdispLength = Math.cos(alpha) * diLength;
97
- di.x = vpx * tdispLength;
98
- di.y = vpy * tdispLength;
99
- });
100
- }
101
- // move
102
- var radii = self.radii;
103
- positions.forEach(function (n, i) {
104
- if (i === f) {
105
- return;
106
- }
107
- var distLength = Math.sqrt(disp[i].x * disp[i].x + disp[i].y * disp[i].y);
108
- if (distLength > 0 && i !== f) {
109
- var limitedDist = Math.min(maxDisplace * (speed / SPEED_DIVISOR), distLength);
110
- n[0] += (disp[i].x / distLength) * limitedDist;
111
- n[1] += (disp[i].y / distLength) * limitedDist;
112
- if (strictRadial) {
113
- var vx = n[0] - positions[f][0];
114
- var vy = n[1] - positions[f][1];
115
- var nfDis = Math.sqrt(vx * vx + vy * vy);
116
- vx = (vx / nfDis) * radii[i];
117
- vy = (vy / nfDis) * radii[i];
118
- n[0] = positions[f][0] + vx;
119
- n[1] = positions[f][1] + vy;
120
- }
121
- }
122
- });
123
- };
124
- return RadialNonoverlapForce;
125
- }());
126
- exports.default = RadialNonoverlapForce;
127
- //# 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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"}