@antv/layout 1.2.0 → 1.2.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 (137) hide show
  1. package/dist/11.index.min.js +2 -0
  2. package/dist/11.index.min.js.map +1 -0
  3. package/dist/435.index.min.js +3 -0
  4. package/dist/435.index.min.js.LICENSE.txt +5 -0
  5. package/dist/435.index.min.js.map +1 -0
  6. package/dist/index.min.js +2 -1
  7. package/dist/index.min.js.LICENSE.txt +5 -0
  8. package/dist/index.min.js.map +1 -1
  9. package/lib/circular.js +258 -0
  10. package/lib/circular.js.map +1 -0
  11. package/lib/concentric.js +221 -0
  12. package/lib/concentric.js.map +1 -0
  13. package/lib/d3Force/forceInBox.js +331 -0
  14. package/lib/d3Force/forceInBox.js.map +1 -0
  15. package/lib/d3Force/index.js +339 -0
  16. package/lib/d3Force/index.js.map +1 -0
  17. package/lib/dagre/acyclic.js +62 -0
  18. package/lib/dagre/acyclic.js.map +1 -0
  19. package/lib/dagre/add-border-segments.js +37 -0
  20. package/lib/dagre/add-border-segments.js.map +1 -0
  21. package/lib/dagre/coordinate-system.js +65 -0
  22. package/lib/dagre/coordinate-system.js.map +1 -0
  23. package/lib/dagre/data/list.js +50 -0
  24. package/lib/dagre/data/list.js.map +1 -0
  25. package/lib/dagre/greedy-fas.js +147 -0
  26. package/lib/dagre/greedy-fas.js.map +1 -0
  27. package/lib/dagre/layout.js +468 -0
  28. package/lib/dagre/layout.js.map +1 -0
  29. package/lib/dagre/nesting-graph.js +153 -0
  30. package/lib/dagre/nesting-graph.js.map +1 -0
  31. package/lib/dagre/normalize.js +98 -0
  32. package/lib/dagre/normalize.js.map +1 -0
  33. package/lib/dagre/order/add-subgraph-constraints.js +41 -0
  34. package/lib/dagre/order/add-subgraph-constraints.js.map +1 -0
  35. package/lib/dagre/order/barycenter.js +23 -0
  36. package/lib/dagre/order/barycenter.js.map +1 -0
  37. package/lib/dagre/order/build-layer-graph.js +96 -0
  38. package/lib/dagre/order/build-layer-graph.js.map +1 -0
  39. package/lib/dagre/order/cross-count.js +63 -0
  40. package/lib/dagre/order/cross-count.js.map +1 -0
  41. package/lib/dagre/order/index.js +91 -0
  42. package/lib/dagre/order/index.js.map +1 -0
  43. package/lib/dagre/order/init-data-order.js +28 -0
  44. package/lib/dagre/order/init-data-order.js.map +1 -0
  45. package/lib/dagre/order/init-order.js +50 -0
  46. package/lib/dagre/order/init-order.js.map +1 -0
  47. package/lib/dagre/order/resolve-conflicts.js +121 -0
  48. package/lib/dagre/order/resolve-conflicts.js.map +1 -0
  49. package/lib/dagre/order/sort-subgraph.js +84 -0
  50. package/lib/dagre/order/sort-subgraph.js.map +1 -0
  51. package/lib/dagre/order/sort.js +74 -0
  52. package/lib/dagre/order/sort.js.map +1 -0
  53. package/lib/dagre/parent-dummy-chains.js +80 -0
  54. package/lib/dagre/parent-dummy-chains.js.map +1 -0
  55. package/lib/dagre/position/bk.js +398 -0
  56. package/lib/dagre/position/bk.js.map +1 -0
  57. package/lib/dagre/position/index.js +54 -0
  58. package/lib/dagre/position/index.js.map +1 -0
  59. package/lib/dagre/rank/feasible-tree.js +164 -0
  60. package/lib/dagre/rank/feasible-tree.js.map +1 -0
  61. package/lib/dagre/rank/index.js +48 -0
  62. package/lib/dagre/rank/index.js.map +1 -0
  63. package/lib/dagre/rank/network-simplex.js +232 -0
  64. package/lib/dagre/rank/network-simplex.js.map +1 -0
  65. package/lib/dagre/rank/util.js +138 -0
  66. package/lib/dagre/rank/util.js.map +1 -0
  67. package/lib/dagre/util.js +289 -0
  68. package/lib/dagre/util.js.map +1 -0
  69. package/lib/dagre.d.ts +1 -2
  70. package/lib/dagre.js +543 -0
  71. package/lib/dagre.js.map +1 -0
  72. package/lib/force/forceNBody.js +103 -0
  73. package/lib/force/forceNBody.js.map +1 -0
  74. package/lib/force/index.js +797 -0
  75. package/lib/force/index.js.map +1 -0
  76. package/lib/force/types.js +2 -0
  77. package/lib/force/types.js.map +1 -0
  78. package/lib/forceAtlas2/body.js +91 -0
  79. package/lib/forceAtlas2/body.js.map +1 -0
  80. package/lib/forceAtlas2/index.js +562 -0
  81. package/lib/forceAtlas2/index.js.map +1 -0
  82. package/lib/forceAtlas2/quad.js +98 -0
  83. package/lib/forceAtlas2/quad.js.map +1 -0
  84. package/lib/forceAtlas2/quadTree.js +105 -0
  85. package/lib/forceAtlas2/quadTree.js.map +1 -0
  86. package/lib/fruchterman.js +376 -0
  87. package/lib/fruchterman.js.map +1 -0
  88. package/lib/grid.js +308 -0
  89. package/lib/grid.js.map +1 -0
  90. package/lib/index.js +16 -0
  91. package/lib/index.js.map +1 -0
  92. package/lib/mds.js +137 -0
  93. package/lib/mds.js.map +1 -0
  94. package/lib/radial/index.js +355 -0
  95. package/lib/radial/index.js.map +1 -0
  96. package/lib/radial/mds.js +29 -0
  97. package/lib/radial/mds.js.map +1 -0
  98. package/lib/radial/radial-nonoverlap-force.js +100 -0
  99. package/lib/radial/radial-nonoverlap-force.js.map +1 -0
  100. package/lib/random.js +98 -0
  101. package/lib/random.js.map +1 -0
  102. package/lib/registry.d.ts +0 -1
  103. package/lib/registry.js +25 -0
  104. package/lib/registry.js.map +1 -0
  105. package/lib/supervisor.js +95 -0
  106. package/lib/supervisor.js.map +1 -0
  107. package/lib/types.js +4 -0
  108. package/lib/types.js.map +1 -0
  109. package/lib/util/array.js +2 -0
  110. package/lib/util/array.js.map +1 -0
  111. package/lib/util/common.d.ts +12 -0
  112. package/lib/util/common.js +32 -0
  113. package/lib/util/common.js.map +1 -0
  114. package/lib/util/function.js +124 -0
  115. package/lib/util/function.js.map +1 -0
  116. package/lib/util/gpu.js +214 -0
  117. package/lib/util/gpu.js.map +1 -0
  118. package/lib/util/index.js +7 -0
  119. package/lib/util/index.js.map +1 -0
  120. package/lib/util/math.js +228 -0
  121. package/lib/util/math.js.map +1 -0
  122. package/lib/util/number.js +5 -0
  123. package/lib/util/number.js.map +1 -0
  124. package/lib/util/object.js +42 -0
  125. package/lib/util/object.js.map +1 -0
  126. package/lib/util/string.js +15 -0
  127. package/lib/util/string.js.map +1 -0
  128. package/lib/worker.d.ts +1 -3
  129. package/lib/worker.js +45 -0
  130. package/lib/worker.js.map +1 -0
  131. package/package.json +6 -8
  132. package/dist/5e37927bd3e57252658c.worker.js +0 -2
  133. package/dist/5e37927bd3e57252658c.worker.js.map +0 -1
  134. package/esm/5e37927bd3e57252658c.worker.js +0 -2
  135. package/esm/5e37927bd3e57252658c.worker.js.map +0 -1
  136. package/esm/index.esm.js +0 -2
  137. package/esm/index.esm.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ import { quadtree } from "d3-quadtree";
2
+ // @ts-ignore
3
+ import { octree } from "d3-octree";
4
+ var theta2 = 0.81; // Barnes-Hut approximation threshold
5
+ var epsilon = 0.1; // 为了防止出现除0的情况,加一个epsilon
6
+ export function forceNBody(calcGraph, factor, coulombDisScale2, accMap, dimensions) {
7
+ var weightParam = factor / coulombDisScale2;
8
+ var calcNodes = calcGraph.getAllNodes();
9
+ var data = calcNodes.map(function (calcNode, i) {
10
+ var _a = calcNode.data, nodeStrength = _a.nodeStrength, x = _a.x, y = _a.y, z = _a.z, size = _a.size;
11
+ return {
12
+ x: x,
13
+ y: y,
14
+ z: z,
15
+ size: size,
16
+ index: i,
17
+ vx: 0,
18
+ vy: 0,
19
+ vz: 0,
20
+ weight: weightParam * nodeStrength,
21
+ };
22
+ });
23
+ var tree = (dimensions === 2 ? quadtree(data, function (d) { return d.x; }, function (d) { return d.y; }) : octree(data, function (d) { return d.x; }, function (d) { return d.y; }, function (d) { return d.z; })).visitAfter(accumulate); // init internal node
24
+ data.forEach(function (n) {
25
+ // @ts-ignore
26
+ computeForce(n, tree, dimensions);
27
+ });
28
+ data.map(function (n, i) {
29
+ var _a = calcNodes[i], id = _a.id, data = _a.data;
30
+ var _b = data.mass, mass = _b === void 0 ? 1 : _b;
31
+ // 从 0 开始,= 初始化 + 加斥力
32
+ accMap[id] = {
33
+ x: n.vx / mass,
34
+ y: n.vy / mass,
35
+ z: n.vz / mass,
36
+ };
37
+ });
38
+ return accMap;
39
+ }
40
+ function accumulate(treeNode) {
41
+ var accWeight = 0;
42
+ var accX = 0;
43
+ var accY = 0;
44
+ var accZ = 0;
45
+ var numChildren = treeNode.length;
46
+ if (numChildren) {
47
+ // internal node, accumulate 4 child quads
48
+ for (var i = 0; i < numChildren; i++) {
49
+ var q = treeNode[i];
50
+ if (q && q.weight) {
51
+ accWeight += q.weight;
52
+ accX += q.x * q.weight;
53
+ accY += q.y * q.weight;
54
+ accZ += q.z * q.weight;
55
+ }
56
+ }
57
+ treeNode.x = accX / accWeight;
58
+ treeNode.y = accY / accWeight;
59
+ treeNode.z = accZ / accWeight;
60
+ treeNode.weight = accWeight;
61
+ }
62
+ else {
63
+ // leaf node
64
+ var q = treeNode;
65
+ treeNode.x = q.data.x;
66
+ treeNode.y = q.data.y;
67
+ treeNode.z = q.data.z;
68
+ treeNode.weight = q.data.weight;
69
+ }
70
+ }
71
+ var apply = function (treeNode, x1, arg1, arg2, arg3, node, dimensions) {
72
+ var x2 = [arg1, arg2, arg3][dimensions - 1];
73
+ var dx = node.x - treeNode.x || epsilon;
74
+ var dy = node.y - treeNode.y || epsilon;
75
+ var dz = node.z - treeNode.z || epsilon;
76
+ var width = x2 - x1;
77
+ var len2 = dx * dx + dy * dy + dz * dz;
78
+ var len3 = Math.sqrt(len2) * len2;
79
+ // far node, apply Barnes-Hut approximation
80
+ if (width * width * theta2 < len2) {
81
+ var param = treeNode.weight / len3;
82
+ node.vx += dx * param;
83
+ node.vy += dy * param;
84
+ node.vz += dz * param;
85
+ return true;
86
+ }
87
+ // near quad, compute force directly
88
+ if (treeNode.length)
89
+ return false; // internal node, visit children
90
+ // leaf node
91
+ if (treeNode.data !== node) {
92
+ var param = treeNode.data.weight / len3;
93
+ node.vx += dx * param;
94
+ node.vy += dy * param;
95
+ node.vz += dz * param;
96
+ }
97
+ };
98
+ // @ts-ignore
99
+ function computeForce(node, tree, dimensions) {
100
+ // @ts-ignore
101
+ tree.visit(function (treeNode, x1, y1, x2, y2) { return apply(treeNode, x1, y1, x2, y2, node, dimensions); });
102
+ }
103
+ //# sourceMappingURL=forceNBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forceNBody.js","sourceRoot":"","sources":["../../src/force/forceNBody.ts"],"names":[],"mappings":"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"}