@antv/layout 1.2.13 → 1.2.14-beta.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.
- package/dist/85db61ddc757dae66e04.worker.js +2 -0
- package/dist/85db61ddc757dae66e04.worker.js.map +1 -0
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/lib/{dagre → antv-dagre}/acyclic.d.ts +1 -1
- package/lib/antv-dagre/acyclic.js +65 -0
- package/lib/antv-dagre/acyclic.js.map +1 -0
- package/lib/antv-dagre/add-border-segments.js +41 -0
- package/lib/antv-dagre/add-border-segments.js.map +1 -0
- package/lib/{dagre → antv-dagre}/coordinate-system.d.ts +2 -1
- package/lib/antv-dagre/coordinate-system.js +69 -0
- package/lib/antv-dagre/coordinate-system.js.map +1 -0
- package/lib/{dagre → antv-dagre}/data/list.d.ts +1 -1
- package/lib/{dagre → antv-dagre}/data/list.js +23 -22
- package/lib/antv-dagre/data/list.js.map +1 -0
- package/lib/{dagre → antv-dagre}/greedy-fas.d.ts +2 -2
- package/lib/antv-dagre/greedy-fas.js +141 -0
- package/lib/antv-dagre/greedy-fas.js.map +1 -0
- package/lib/{dagre → antv-dagre}/layout.d.ts +2 -1
- package/lib/{dagre → antv-dagre}/layout.js +156 -154
- package/lib/antv-dagre/layout.js.map +1 -0
- package/lib/{dagre → antv-dagre}/nesting-graph.js +42 -39
- package/lib/antv-dagre/nesting-graph.js.map +1 -0
- package/lib/{dagre → antv-dagre}/normalize.d.ts +2 -2
- package/lib/{dagre → antv-dagre}/normalize.js +29 -25
- package/lib/antv-dagre/normalize.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/add-subgraph-constraints.js +13 -9
- package/lib/antv-dagre/order/add-subgraph-constraints.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/barycenter.d.ts +2 -2
- package/lib/antv-dagre/order/barycenter.js +27 -0
- package/lib/antv-dagre/order/barycenter.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/build-layer-graph.js +23 -23
- package/lib/antv-dagre/order/build-layer-graph.js.map +1 -0
- package/lib/antv-dagre/order/cross-count.d.ts +3 -0
- package/lib/{dagre → antv-dagre}/order/cross-count.js +21 -17
- package/lib/antv-dagre/order/cross-count.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/index.d.ts +1 -1
- package/lib/antv-dagre/order/index.js +95 -0
- package/lib/antv-dagre/order/index.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/init-data-order.js +12 -9
- package/lib/antv-dagre/order/init-data-order.js.map +1 -0
- package/lib/antv-dagre/order/init-order.js +51 -0
- package/lib/antv-dagre/order/init-order.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/resolve-conflicts.d.ts +3 -3
- package/lib/{dagre → antv-dagre}/order/resolve-conflicts.js +35 -36
- package/lib/antv-dagre/order/resolve-conflicts.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/sort-subgraph.js +28 -23
- package/lib/antv-dagre/order/sort-subgraph.js.map +1 -0
- package/lib/{dagre → antv-dagre}/order/sort.d.ts +2 -2
- package/lib/{dagre → antv-dagre}/order/sort.js +23 -19
- package/lib/antv-dagre/order/sort.js.map +1 -0
- package/lib/{dagre → antv-dagre}/parent-dummy-chains.js +32 -28
- package/lib/antv-dagre/parent-dummy-chains.js.map +1 -0
- package/lib/{dagre → antv-dagre}/position/bk.d.ts +5 -4
- package/lib/{dagre → antv-dagre}/position/bk.js +162 -148
- package/lib/antv-dagre/position/bk.js.map +1 -0
- package/lib/{dagre → antv-dagre}/position/index.d.ts +2 -1
- package/lib/antv-dagre/position/index.js +55 -0
- package/lib/antv-dagre/position/index.js.map +1 -0
- package/lib/{dagre → antv-dagre}/rank/feasible-tree.d.ts +2 -2
- package/lib/{dagre → antv-dagre}/rank/feasible-tree.js +42 -38
- package/lib/antv-dagre/rank/feasible-tree.js.map +1 -0
- package/lib/antv-dagre/rank/index.d.ts +2 -0
- package/lib/{dagre → antv-dagre}/rank/index.js +17 -13
- package/lib/antv-dagre/rank/index.js.map +1 -0
- package/lib/{dagre → antv-dagre}/rank/network-simplex.d.ts +2 -2
- package/lib/{dagre → antv-dagre}/rank/network-simplex.js +90 -81
- package/lib/antv-dagre/rank/network-simplex.js.map +1 -0
- package/lib/{dagre → antv-dagre}/rank/util.d.ts +2 -2
- package/lib/{dagre → antv-dagre}/rank/util.js +37 -32
- package/lib/antv-dagre/rank/util.js.map +1 -0
- package/lib/antv-dagre/types.d.ts +2 -0
- package/lib/antv-dagre/types.js +3 -0
- package/lib/antv-dagre/types.js.map +1 -0
- package/lib/{dagre → antv-dagre}/util.d.ts +1 -1
- package/lib/antv-dagre/util.js +299 -0
- package/lib/antv-dagre/util.js.map +1 -0
- package/lib/antv-dagre.d.ts +50 -0
- package/lib/antv-dagre.js +542 -0
- package/lib/antv-dagre.js.map +1 -0
- package/lib/bundle-entry.d.ts +2 -18
- package/lib/bundle-entry.js +5 -18
- package/lib/bundle-entry.js.map +1 -1
- package/lib/bundle-supervisor.d.ts +4 -22
- package/lib/bundle-supervisor.js +59 -54
- package/lib/bundle-supervisor.js.map +1 -1
- package/lib/bundle-worker.d.ts +1 -1
- package/lib/bundle-worker.js +38 -35
- package/lib/bundle-worker.js.map +1 -1
- package/lib/circular.d.ts +1 -1
- package/lib/circular.js +133 -145
- package/lib/circular.js.map +1 -1
- package/lib/comboCombined.d.ts +1 -1
- package/lib/comboCombined.js +273 -299
- package/lib/comboCombined.js.map +1 -1
- package/lib/concentric.d.ts +1 -1
- package/lib/concentric.js +173 -179
- package/lib/concentric.js.map +1 -1
- package/lib/d3Force/forceInBox.js +80 -78
- package/lib/d3Force/forceInBox.js.map +1 -1
- package/lib/d3Force/index.d.ts +2 -2
- package/lib/d3Force/index.js +207 -229
- package/lib/d3Force/index.js.map +1 -1
- package/lib/dagre.d.ts +13 -24
- package/lib/dagre.js +61 -542
- package/lib/dagre.js.map +1 -1
- package/lib/exports.d.ts +17 -0
- package/lib/exports.js +20 -0
- package/lib/exports.js.map +1 -0
- package/lib/force/forceNBody.js +48 -47
- package/lib/force/forceNBody.js.map +1 -1
- package/lib/force/index.d.ts +1 -1
- package/lib/force/index.js +301 -324
- package/lib/force/index.js.map +1 -1
- package/lib/force/types.d.ts +5 -5
- package/lib/force/types.js +2 -1
- package/lib/forceAtlas2/body.d.ts +1 -1
- package/lib/forceAtlas2/body.js +32 -31
- package/lib/forceAtlas2/body.js.map +1 -1
- package/lib/forceAtlas2/index.d.ts +1 -1
- package/lib/forceAtlas2/index.js +219 -227
- package/lib/forceAtlas2/index.js.map +1 -1
- package/lib/forceAtlas2/quad.d.ts +2 -2
- package/lib/forceAtlas2/quad.js +43 -42
- package/lib/forceAtlas2/quad.js.map +1 -1
- package/lib/forceAtlas2/quadTree.js +19 -17
- package/lib/forceAtlas2/quadTree.js.map +1 -1
- package/lib/fruchterman.d.ts +1 -1
- package/lib/fruchterman.js +203 -219
- package/lib/fruchterman.js.map +1 -1
- package/lib/grid.d.ts +1 -1
- package/lib/grid.js +201 -207
- package/lib/grid.js.map +1 -1
- package/lib/index.d.ts +1 -15
- package/lib/index.js +5 -16
- package/lib/index.js.map +1 -1
- package/lib/mds.d.ts +1 -1
- package/lib/mds.js +73 -79
- package/lib/mds.js.map +1 -1
- package/lib/radial/index.d.ts +1 -1
- package/lib/radial/index.js +183 -186
- package/lib/radial/index.js.map +1 -1
- package/lib/radial/mds.d.ts +1 -1
- package/lib/radial/mds.js +20 -14
- package/lib/radial/mds.js.map +1 -1
- package/lib/radial/radial-nonoverlap-force.d.ts +2 -2
- package/lib/radial/radial-nonoverlap-force.js +40 -37
- package/lib/radial/radial-nonoverlap-force.js.map +1 -1
- package/lib/random.d.ts +1 -1
- package/lib/random.js +57 -66
- package/lib/random.js.map +1 -1
- package/lib/registry.d.ts +2 -2
- package/lib/registry.js +30 -25
- package/lib/registry.js.map +1 -1
- package/lib/supervisor.d.ts +2 -3
- package/lib/supervisor.js +63 -58
- package/lib/supervisor.js.map +1 -1
- package/lib/types.d.ts +20 -75
- package/lib/types.js +5 -1
- package/lib/types.js.map +1 -1
- package/lib/util/array.js +4 -1
- package/lib/util/array.js.map +1 -1
- package/lib/util/common.d.ts +1 -1
- package/lib/util/common.js +11 -8
- package/lib/util/common.js.map +1 -1
- package/lib/util/function.js +41 -37
- package/lib/util/function.js.map +1 -1
- package/lib/util/index.d.ts +0 -2
- package/lib/util/index.js +7 -6
- package/lib/util/index.js.map +1 -1
- package/lib/util/math.d.ts +1 -26
- package/lib/util/math.js +55 -154
- package/lib/util/math.js.map +1 -1
- package/lib/util/object.d.ts +1 -1
- package/lib/util/object.js +20 -15
- package/lib/util/object.js.map +1 -1
- package/lib/util/size.d.ts +3 -0
- package/lib/util/size.js +16 -0
- package/lib/util/size.js.map +1 -0
- package/lib/worker.js +36 -35
- package/lib/worker.js.map +1 -1
- package/package.json +10 -6
- package/dist/aa1bb0ccc06b11cf79c1.worker.js +0 -2
- package/dist/aa1bb0ccc06b11cf79c1.worker.js.map +0 -1
- package/lib/dagre/acyclic.js +0 -62
- package/lib/dagre/acyclic.js.map +0 -1
- package/lib/dagre/add-border-segments.js +0 -37
- package/lib/dagre/add-border-segments.js.map +0 -1
- package/lib/dagre/coordinate-system.js +0 -65
- package/lib/dagre/coordinate-system.js.map +0 -1
- package/lib/dagre/data/list.js.map +0 -1
- package/lib/dagre/greedy-fas.js +0 -147
- package/lib/dagre/greedy-fas.js.map +0 -1
- package/lib/dagre/layout.js.map +0 -1
- package/lib/dagre/nesting-graph.js.map +0 -1
- package/lib/dagre/normalize.js.map +0 -1
- package/lib/dagre/order/add-subgraph-constraints.js.map +0 -1
- package/lib/dagre/order/barycenter.js +0 -23
- package/lib/dagre/order/barycenter.js.map +0 -1
- package/lib/dagre/order/build-layer-graph.js.map +0 -1
- package/lib/dagre/order/cross-count.d.ts +0 -3
- package/lib/dagre/order/cross-count.js.map +0 -1
- package/lib/dagre/order/index.js +0 -91
- package/lib/dagre/order/index.js.map +0 -1
- package/lib/dagre/order/init-data-order.js.map +0 -1
- package/lib/dagre/order/init-order.js +0 -50
- package/lib/dagre/order/init-order.js.map +0 -1
- package/lib/dagre/order/resolve-conflicts.js.map +0 -1
- package/lib/dagre/order/sort-subgraph.js.map +0 -1
- package/lib/dagre/order/sort.js.map +0 -1
- package/lib/dagre/parent-dummy-chains.js.map +0 -1
- package/lib/dagre/position/bk.js.map +0 -1
- package/lib/dagre/position/index.js +0 -54
- package/lib/dagre/position/index.js.map +0 -1
- package/lib/dagre/rank/feasible-tree.js.map +0 -1
- package/lib/dagre/rank/index.d.ts +0 -2
- package/lib/dagre/rank/index.js.map +0 -1
- package/lib/dagre/rank/network-simplex.js.map +0 -1
- package/lib/dagre/rank/util.js.map +0 -1
- package/lib/dagre/util.js +0 -289
- package/lib/dagre/util.js.map +0 -1
- package/lib/util/gpu.d.ts +0 -45
- package/lib/util/gpu.js +0 -214
- package/lib/util/gpu.js.map +0 -1
- package/lib/util/number.d.ts +0 -1
- package/lib/util/number.js +0 -5
- package/lib/util/number.js.map +0 -1
- package/lib/util/string.d.ts +0 -1
- package/lib/util/string.js +0 -15
- package/lib/util/string.js.map +0 -1
- /package/lib/{dagre → antv-dagre}/add-border-segments.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/nesting-graph.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/order/add-subgraph-constraints.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/order/build-layer-graph.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/order/init-data-order.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/order/init-order.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/order/sort-subgraph.d.ts +0 -0
- /package/lib/{dagre → antv-dagre}/parent-dummy-chains.d.ts +0 -0
package/lib/exports.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './antv-dagre';
|
|
2
|
+
export type { DagreAlign, DagreRankdir } from './antv-dagre/types';
|
|
3
|
+
export * from './circular';
|
|
4
|
+
export * from './comboCombined';
|
|
5
|
+
export * from './concentric';
|
|
6
|
+
export * from './d3Force';
|
|
7
|
+
export * from './dagre';
|
|
8
|
+
export * from './force';
|
|
9
|
+
export * from './forceAtlas2';
|
|
10
|
+
export * from './fruchterman';
|
|
11
|
+
export * from './grid';
|
|
12
|
+
export * from './mds';
|
|
13
|
+
export * from './radial';
|
|
14
|
+
export * from './random';
|
|
15
|
+
export * from './registry';
|
|
16
|
+
export * from './types';
|
|
17
|
+
export * from './util';
|
package/lib/exports.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./antv-dagre"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./circular"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./comboCombined"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./concentric"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./d3Force"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./dagre"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./force"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./forceAtlas2"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./fruchterman"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./grid"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./mds"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./radial"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./random"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./registry"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./types"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./util"), exports);
|
|
20
|
+
//# sourceMappingURL=exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAE7B,qDAA2B;AAC3B,0DAAgC;AAChC,uDAA6B;AAC7B,oDAA0B;AAC1B,kDAAwB;AACxB,kDAAwB;AACxB,wDAA8B;AAC9B,wDAA8B;AAC9B,iDAAuB;AACvB,gDAAsB;AACtB,mDAAyB;AACzB,mDAAyB;AACzB,qDAA2B;AAC3B,kDAAwB;AACxB,iDAAuB"}
|
package/lib/force/forceNBody.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.forceNBody = void 0;
|
|
4
|
+
const d3_quadtree_1 = require("d3-quadtree");
|
|
2
5
|
// @ts-ignore
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _a = calcNode.data, nodeStrength = _a.nodeStrength, x = _a.x, y = _a.y, z = _a.z, size = _a.size;
|
|
6
|
+
const d3_octree_1 = require("d3-octree");
|
|
7
|
+
const theta2 = 0.81; // Barnes-Hut approximation threshold
|
|
8
|
+
const epsilon = 0.1; // 为了防止出现除0的情况,加一个epsilon
|
|
9
|
+
function forceNBody(calcGraph, factor, coulombDisScale2, accMap, dimensions = 2) {
|
|
10
|
+
const weightParam = factor / coulombDisScale2;
|
|
11
|
+
const calcNodes = calcGraph.getAllNodes();
|
|
12
|
+
const data = calcNodes.map((calcNode, i) => {
|
|
13
|
+
const { nodeStrength, x, y, z, size } = calcNode.data;
|
|
12
14
|
return {
|
|
13
|
-
x
|
|
14
|
-
y
|
|
15
|
-
z
|
|
16
|
-
size
|
|
15
|
+
x,
|
|
16
|
+
y,
|
|
17
|
+
z,
|
|
18
|
+
size,
|
|
17
19
|
index: i,
|
|
18
20
|
id: calcNode.id,
|
|
19
21
|
vx: 0,
|
|
@@ -22,18 +24,18 @@ export function forceNBody(calcGraph, factor, coulombDisScale2, accMap, dimensio
|
|
|
22
24
|
weight: weightParam * nodeStrength,
|
|
23
25
|
};
|
|
24
26
|
});
|
|
25
|
-
|
|
26
|
-
? quadtree(data,
|
|
27
|
-
: octree(data,
|
|
28
|
-
|
|
29
|
-
data.forEach(
|
|
27
|
+
const tree = (dimensions === 2
|
|
28
|
+
? (0, d3_quadtree_1.quadtree)(data, (d) => d.x, (d) => d.y)
|
|
29
|
+
: (0, d3_octree_1.octree)(data, (d) => d.x, (d) => d.y, (d) => d.z)).visitAfter(accumulate); // init internal node
|
|
30
|
+
const nodeMap = new Map();
|
|
31
|
+
data.forEach((n) => {
|
|
30
32
|
nodeMap.set(n.id, n);
|
|
31
33
|
// @ts-ignore
|
|
32
34
|
computeForce(n, tree, dimensions);
|
|
33
35
|
});
|
|
34
|
-
data.map(
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
data.map((n, i) => {
|
|
37
|
+
const { id, data } = calcNodes[i];
|
|
38
|
+
const { mass = 1 } = data;
|
|
37
39
|
// 从 0 开始,= 初始化 + 加斥力
|
|
38
40
|
accMap[id] = {
|
|
39
41
|
x: n.vx / mass,
|
|
@@ -43,17 +45,18 @@ export function forceNBody(calcGraph, factor, coulombDisScale2, accMap, dimensio
|
|
|
43
45
|
});
|
|
44
46
|
return accMap;
|
|
45
47
|
}
|
|
48
|
+
exports.forceNBody = forceNBody;
|
|
46
49
|
function accumulate(treeNode) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
let accWeight = 0;
|
|
51
|
+
let accX = 0;
|
|
52
|
+
let accY = 0;
|
|
53
|
+
let accZ = 0;
|
|
54
|
+
let accSize = 0;
|
|
55
|
+
const numChildren = treeNode.length;
|
|
53
56
|
if (numChildren) {
|
|
54
57
|
// internal node, accumulate 4 child quads
|
|
55
|
-
for (
|
|
56
|
-
|
|
58
|
+
for (let i = 0; i < numChildren; i++) {
|
|
59
|
+
const q = treeNode[i];
|
|
57
60
|
if (q && q.weight) {
|
|
58
61
|
accWeight += q.weight;
|
|
59
62
|
accX += q.x * q.weight;
|
|
@@ -70,7 +73,7 @@ function accumulate(treeNode) {
|
|
|
70
73
|
}
|
|
71
74
|
else {
|
|
72
75
|
// leaf node
|
|
73
|
-
|
|
76
|
+
const q = treeNode;
|
|
74
77
|
treeNode.x = q.data.x;
|
|
75
78
|
treeNode.y = q.data.y;
|
|
76
79
|
treeNode.z = q.data.z;
|
|
@@ -78,25 +81,25 @@ function accumulate(treeNode) {
|
|
|
78
81
|
treeNode.weight = q.data.weight;
|
|
79
82
|
}
|
|
80
83
|
}
|
|
81
|
-
|
|
84
|
+
const apply = (treeNode, x1, arg1, arg2, arg3, node, dimensions) => {
|
|
82
85
|
var _a;
|
|
83
86
|
if (((_a = treeNode.data) === null || _a === void 0 ? void 0 : _a.id) === node.id)
|
|
84
87
|
return;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
for (
|
|
88
|
+
const x2 = [arg1, arg2, arg3][dimensions - 1];
|
|
89
|
+
const dx = node.x - treeNode.x || epsilon;
|
|
90
|
+
const dy = node.y - treeNode.y || epsilon;
|
|
91
|
+
const dz = node.z - treeNode.z || epsilon;
|
|
92
|
+
const pos = [dx, dy, dz];
|
|
93
|
+
const width = x2 - x1;
|
|
94
|
+
let len2 = 0;
|
|
95
|
+
for (let i = 0; i < dimensions; i++) {
|
|
93
96
|
len2 += pos[i] * pos[i];
|
|
94
97
|
}
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
const len1 = Math.sqrt(len2);
|
|
99
|
+
const len3 = len1 * len2;
|
|
97
100
|
// far node, apply Barnes-Hut approximation
|
|
98
101
|
if (width * width * theta2 < len2) {
|
|
99
|
-
|
|
102
|
+
const param = treeNode.weight / len3;
|
|
100
103
|
node.vx += dx * param;
|
|
101
104
|
node.vy += dy * param;
|
|
102
105
|
node.vz += dz * param;
|
|
@@ -107,7 +110,7 @@ var apply = function (treeNode, x1, arg1, arg2, arg3, node, dimensions) {
|
|
|
107
110
|
return false; // internal node, visit children
|
|
108
111
|
// leaf node
|
|
109
112
|
if (treeNode.data !== node) {
|
|
110
|
-
|
|
113
|
+
const param = treeNode.data.weight / len3;
|
|
111
114
|
node.vx += dx * param;
|
|
112
115
|
node.vy += dy * param;
|
|
113
116
|
node.vz += dz * param;
|
|
@@ -116,8 +119,6 @@ var apply = function (treeNode, x1, arg1, arg2, arg3, node, dimensions) {
|
|
|
116
119
|
// @ts-ignore
|
|
117
120
|
function computeForce(node, tree, dimensions) {
|
|
118
121
|
// @ts-ignore
|
|
119
|
-
tree.visit(
|
|
120
|
-
return apply(treeNode, x1, y1, x2, y2, node, dimensions);
|
|
121
|
-
});
|
|
122
|
+
tree.visit((treeNode, x1, y1, x2, y2) => apply(treeNode, x1, y1, x2, y2, node, dimensions));
|
|
122
123
|
}
|
|
123
124
|
//# sourceMappingURL=forceNBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forceNBody.js","sourceRoot":"","sources":["../../src/force/forceNBody.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"forceNBody.js","sourceRoot":"","sources":["../../src/force/forceNBody.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AACvC,aAAa;AACb,yCAAmC;AAInC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,qCAAqC;AAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,yBAAyB;AAc9C,SAAgB,UAAU,CACxB,SAAoB,EACpB,MAAc,EACd,gBAAwB,EACxB,MAA+B,EAC/B,aAAqB,CAAC;IAEtB,MAAM,WAAW,GAAG,MAAM,GAAG,gBAAgB,CAAC;IAC9C,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtD,OAAO;YACL,CAAC;YACD,CAAC;YACD,CAAC;YACD,IAAI;YACJ,KAAK,EAAE,CAAC;YACR,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,WAAW,GAAG,YAAY;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CACX,UAAU,KAAK,CAAC;QACd,CAAC,CAAC,IAAA,sBAAQ,EACN,IAAI,EACJ,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACf,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAChB;QACH,CAAC,CAAC,IAAA,kBAAM,EACJ,IAAI,EACJ,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACf,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACf,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAChB,CACN,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB;IAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrB,aAAa;QACb,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;QAC1B,qBAAqB;QACrB,MAAM,CAAC,EAAE,CAAC,GAAG;YACX,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI;YACd,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI;YACd,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI;SACf,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AA1DD,gCA0DC;AAED,SAAS,UAAU,CAAC,QAAa;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEpC,IAAI,WAAW,EAAE;QACf,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACjB,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC;gBACtB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACvB,OAAO,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC;aAC9B;SACF;QACD,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;KAC7B;SAAM;QACL,YAAY;QACZ,MAAM,CAAC,GAAG,QAAQ,CAAC;QACnB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KACjC;AACH,CAAC;AAED,MAAM,KAAK,GAAG,CACZ,QAAa,EACb,EAAU,EACV,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAkB,EAClB,UAAkB,EAClB,EAAE;;IACF,IAAI,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,EAAE,MAAK,IAAI,CAAC,EAAE;QAAE,OAAO;IAC1C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAE9C,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KACzB;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEzB,2CAA2C;IAC3C,IAAI,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;KACb;IACD,oCAAoC;IACpC,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,CAAC,gCAAgC;IAEnE,YAAY;IAEZ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;KACvB;AACH,CAAC,CAAC;AAEF,aAAa;AACb,SAAS,YAAY,CAAC,IAAkB,EAAE,IAAS,EAAE,UAAkB;IACrE,aAAa;IACb,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACtC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAClD,CAAC;AACJ,CAAC"}
|
package/lib/force/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Graph, LayoutMapping,
|
|
1
|
+
import type { ForceLayoutOptions, Graph, LayoutMapping, LayoutWithIterations, Point } from '../types';
|
|
2
2
|
import { CalcGraph, FormatedOptions } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Layout with faster force
|