@antv/layout 0.2.0 → 0.2.3
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/layout.min.js +1 -1
- package/dist/layout.min.js.LICENSE.txt +0 -9
- package/dist/layout.min.js.map +1 -1
- package/es/layout/circular.js.map +1 -1
- package/es/layout/comboCombined.js +3 -19
- package/es/layout/comboCombined.js.map +1 -1
- package/es/layout/concentric.js.map +1 -1
- package/es/layout/dagre/graph.d.ts +91 -0
- package/es/layout/dagre/graph.js +4 -0
- package/es/layout/dagre/graph.js.map +1 -0
- package/es/layout/dagre/index.d.ts +3 -4
- package/es/layout/dagre/index.js +0 -2
- package/es/layout/dagre/index.js.map +1 -1
- package/es/layout/dagre/src/acyclic.d.ts +1 -2
- package/es/layout/dagre/src/acyclic.js +7 -7
- package/es/layout/dagre/src/acyclic.js.map +1 -1
- package/es/layout/dagre/src/add-border-segments.d.ts +1 -2
- package/es/layout/dagre/src/add-border-segments.js +5 -5
- package/es/layout/dagre/src/add-border-segments.js.map +1 -1
- package/es/layout/dagre/src/coordinate-system.d.ts +1 -2
- package/es/layout/dagre/src/coordinate-system.js +15 -5
- package/es/layout/dagre/src/coordinate-system.js.map +1 -1
- package/es/layout/dagre/src/data/list.d.ts +9 -5
- package/es/layout/dagre/src/data/list.js +25 -27
- package/es/layout/dagre/src/data/list.js.map +1 -1
- package/es/layout/dagre/src/debug.d.ts +2 -3
- package/es/layout/dagre/src/debug.js +3 -5
- package/es/layout/dagre/src/debug.js.map +1 -1
- package/es/layout/dagre/src/greedy-fas.d.ts +2 -3
- package/es/layout/dagre/src/greedy-fas.js +16 -15
- package/es/layout/dagre/src/greedy-fas.js.map +1 -1
- package/es/layout/dagre/src/layout.d.ts +2 -3
- package/es/layout/dagre/src/layout.js +170 -91
- package/es/layout/dagre/src/layout.js.map +1 -1
- package/es/layout/dagre/src/nesting-graph.d.ts +1 -2
- package/es/layout/dagre/src/nesting-graph.js +15 -10
- package/es/layout/dagre/src/nesting-graph.js.map +1 -1
- package/es/layout/dagre/src/normalize.d.ts +1 -2
- package/es/layout/dagre/src/normalize.js +12 -11
- package/es/layout/dagre/src/normalize.js.map +1 -1
- package/es/layout/dagre/src/order/add-subgraph-constraints.d.ts +1 -2
- package/es/layout/dagre/src/order/add-subgraph-constraints.js.map +1 -1
- package/es/layout/dagre/src/order/barycenter.d.ts +1 -2
- package/es/layout/dagre/src/order/barycenter.js.map +1 -1
- package/es/layout/dagre/src/order/build-layer-graph.d.ts +2 -3
- package/es/layout/dagre/src/order/build-layer-graph.js +12 -8
- package/es/layout/dagre/src/order/build-layer-graph.js.map +1 -1
- package/es/layout/dagre/src/order/cross-count.d.ts +2 -3
- package/es/layout/dagre/src/order/cross-count.js +13 -12
- package/es/layout/dagre/src/order/cross-count.js.map +1 -1
- package/es/layout/dagre/src/order/index.d.ts +2 -3
- package/es/layout/dagre/src/order/index.js +17 -15
- package/es/layout/dagre/src/order/index.js.map +1 -1
- package/es/layout/dagre/src/order/init-data-order.d.ts +1 -2
- package/es/layout/dagre/src/order/init-data-order.js +3 -5
- package/es/layout/dagre/src/order/init-data-order.js.map +1 -1
- package/es/layout/dagre/src/order/init-order.d.ts +2 -3
- package/es/layout/dagre/src/order/init-order.js +1 -2
- package/es/layout/dagre/src/order/init-order.js.map +1 -1
- package/es/layout/dagre/src/order/resolve-conflicts.d.ts +18 -3
- package/es/layout/dagre/src/order/resolve-conflicts.js +9 -29
- package/es/layout/dagre/src/order/resolve-conflicts.js.map +1 -1
- package/es/layout/dagre/src/order/sort-subgraph.d.ts +6 -3
- package/es/layout/dagre/src/order/sort-subgraph.js +19 -14
- package/es/layout/dagre/src/order/sort-subgraph.js.map +1 -1
- package/es/layout/dagre/src/order/sort.d.ts +6 -1
- package/es/layout/dagre/src/order/sort.js +2 -2
- package/es/layout/dagre/src/order/sort.js.map +1 -1
- package/es/layout/dagre/src/parent-dummy-chains.d.ts +1 -2
- package/es/layout/dagre/src/parent-dummy-chains.js +47 -44
- package/es/layout/dagre/src/parent-dummy-chains.js.map +1 -1
- package/es/layout/dagre/src/position/bk.d.ts +22 -31
- package/es/layout/dagre/src/position/bk.js +49 -83
- package/es/layout/dagre/src/position/bk.js.map +1 -1
- package/es/layout/dagre/src/position/index.d.ts +1 -2
- package/es/layout/dagre/src/position/index.js +12 -14
- package/es/layout/dagre/src/position/index.js.map +1 -1
- package/es/layout/dagre/src/rank/feasible-tree.d.ts +5 -6
- package/es/layout/dagre/src/rank/feasible-tree.js +1 -2
- package/es/layout/dagre/src/rank/feasible-tree.js.map +1 -1
- package/es/layout/dagre/src/rank/index.d.ts +2 -3
- package/es/layout/dagre/src/rank/index.js.map +1 -1
- package/es/layout/dagre/src/rank/network-simplex.d.ts +8 -11
- package/es/layout/dagre/src/rank/network-simplex.js +18 -31
- package/es/layout/dagre/src/rank/network-simplex.js.map +1 -1
- package/es/layout/dagre/src/rank/util.d.ts +4 -5
- package/es/layout/dagre/src/rank/util.js +37 -20
- package/es/layout/dagre/src/rank/util.js.map +1 -1
- package/es/layout/dagre/src/util.d.ts +29 -48
- package/es/layout/dagre/src/util.js +91 -101
- package/es/layout/dagre/src/util.js.map +1 -1
- package/es/layout/dagre.d.ts +1 -1
- package/es/layout/dagre.js +28 -24
- package/es/layout/dagre.js.map +1 -1
- package/es/layout/fruchterman.js.map +1 -1
- package/es/layout/gForce.js +14 -6
- package/es/layout/gForce.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/layout/circular.js.map +1 -1
- package/lib/layout/comboCombined.js +2 -18
- package/lib/layout/comboCombined.js.map +1 -1
- package/lib/layout/comboForce.js +5 -5
- package/lib/layout/comboForce.js.map +1 -1
- package/lib/layout/concentric.js.map +1 -1
- package/lib/layout/dagre/graph.d.ts +91 -0
- package/lib/layout/dagre/graph.js +28 -0
- package/lib/layout/dagre/graph.js.map +1 -0
- package/lib/layout/dagre/index.d.ts +3 -4
- package/lib/layout/dagre/index.js +0 -2
- package/lib/layout/dagre/index.js.map +1 -1
- package/lib/layout/dagre/src/acyclic.d.ts +1 -2
- package/lib/layout/dagre/src/acyclic.js +7 -7
- package/lib/layout/dagre/src/acyclic.js.map +1 -1
- package/lib/layout/dagre/src/add-border-segments.d.ts +1 -2
- package/lib/layout/dagre/src/add-border-segments.js +5 -8
- package/lib/layout/dagre/src/add-border-segments.js.map +1 -1
- package/lib/layout/dagre/src/coordinate-system.d.ts +1 -2
- package/lib/layout/dagre/src/coordinate-system.js +15 -5
- package/lib/layout/dagre/src/coordinate-system.js.map +1 -1
- package/lib/layout/dagre/src/data/list.d.ts +9 -5
- package/lib/layout/dagre/src/data/list.js +25 -26
- package/lib/layout/dagre/src/data/list.js.map +1 -1
- package/lib/layout/dagre/src/debug.d.ts +2 -3
- package/lib/layout/dagre/src/debug.js +6 -11
- package/lib/layout/dagre/src/debug.js.map +1 -1
- package/lib/layout/dagre/src/greedy-fas.d.ts +2 -3
- package/lib/layout/dagre/src/greedy-fas.js +41 -15
- package/lib/layout/dagre/src/greedy-fas.js.map +1 -1
- package/lib/layout/dagre/src/layout.d.ts +2 -3
- package/lib/layout/dagre/src/layout.js +171 -100
- package/lib/layout/dagre/src/layout.js.map +1 -1
- package/lib/layout/dagre/src/nesting-graph.d.ts +1 -2
- package/lib/layout/dagre/src/nesting-graph.js +15 -13
- package/lib/layout/dagre/src/nesting-graph.js.map +1 -1
- package/lib/layout/dagre/src/normalize.d.ts +1 -2
- package/lib/layout/dagre/src/normalize.js +12 -14
- package/lib/layout/dagre/src/normalize.js.map +1 -1
- package/lib/layout/dagre/src/order/add-subgraph-constraints.d.ts +1 -2
- package/lib/layout/dagre/src/order/add-subgraph-constraints.js.map +1 -1
- package/lib/layout/dagre/src/order/barycenter.d.ts +1 -2
- package/lib/layout/dagre/src/order/barycenter.js.map +1 -1
- package/lib/layout/dagre/src/order/build-layer-graph.d.ts +2 -3
- package/lib/layout/dagre/src/order/build-layer-graph.js +13 -12
- package/lib/layout/dagre/src/order/build-layer-graph.js.map +1 -1
- package/lib/layout/dagre/src/order/cross-count.d.ts +2 -3
- package/lib/layout/dagre/src/order/cross-count.js +14 -13
- package/lib/layout/dagre/src/order/cross-count.js.map +1 -1
- package/lib/layout/dagre/src/order/index.d.ts +2 -3
- package/lib/layout/dagre/src/order/index.js +15 -13
- package/lib/layout/dagre/src/order/index.js.map +1 -1
- package/lib/layout/dagre/src/order/init-data-order.d.ts +1 -2
- package/lib/layout/dagre/src/order/init-data-order.js +3 -5
- package/lib/layout/dagre/src/order/init-data-order.js.map +1 -1
- package/lib/layout/dagre/src/order/init-order.d.ts +2 -3
- package/lib/layout/dagre/src/order/init-order.js +1 -2
- package/lib/layout/dagre/src/order/init-order.js.map +1 -1
- package/lib/layout/dagre/src/order/resolve-conflicts.d.ts +18 -3
- package/lib/layout/dagre/src/order/resolve-conflicts.js +9 -29
- package/lib/layout/dagre/src/order/resolve-conflicts.js.map +1 -1
- package/lib/layout/dagre/src/order/sort-subgraph.d.ts +6 -3
- package/lib/layout/dagre/src/order/sort-subgraph.js +16 -11
- package/lib/layout/dagre/src/order/sort-subgraph.js.map +1 -1
- package/lib/layout/dagre/src/order/sort.d.ts +6 -1
- package/lib/layout/dagre/src/order/sort.js +2 -5
- package/lib/layout/dagre/src/order/sort.js.map +1 -1
- package/lib/layout/dagre/src/parent-dummy-chains.d.ts +1 -2
- package/lib/layout/dagre/src/parent-dummy-chains.js +47 -44
- package/lib/layout/dagre/src/parent-dummy-chains.js.map +1 -1
- package/lib/layout/dagre/src/position/bk.d.ts +22 -31
- package/lib/layout/dagre/src/position/bk.js +75 -85
- package/lib/layout/dagre/src/position/bk.js.map +1 -1
- package/lib/layout/dagre/src/position/index.d.ts +1 -2
- package/lib/layout/dagre/src/position/index.js +14 -17
- package/lib/layout/dagre/src/position/index.js.map +1 -1
- package/lib/layout/dagre/src/rank/feasible-tree.d.ts +5 -6
- package/lib/layout/dagre/src/rank/feasible-tree.js +3 -7
- package/lib/layout/dagre/src/rank/feasible-tree.js.map +1 -1
- package/lib/layout/dagre/src/rank/index.d.ts +2 -3
- package/lib/layout/dagre/src/rank/index.js.map +1 -1
- package/lib/layout/dagre/src/rank/network-simplex.d.ts +8 -11
- package/lib/layout/dagre/src/rank/network-simplex.js +27 -35
- package/lib/layout/dagre/src/rank/network-simplex.js.map +1 -1
- package/lib/layout/dagre/src/rank/util.d.ts +4 -5
- package/lib/layout/dagre/src/rank/util.js +36 -19
- package/lib/layout/dagre/src/rank/util.js.map +1 -1
- package/lib/layout/dagre/src/util.d.ts +29 -48
- package/lib/layout/dagre/src/util.js +80 -92
- package/lib/layout/dagre/src/util.js.map +1 -1
- package/lib/layout/dagre.d.ts +1 -1
- package/lib/layout/dagre.js +27 -23
- package/lib/layout/dagre.js.map +1 -1
- package/lib/layout/er/core.js +5 -1
- package/lib/layout/er/core.js.map +1 -1
- package/lib/layout/force/force-in-a-box.js +7 -3
- package/lib/layout/force/force-in-a-box.js.map +1 -1
- package/lib/layout/force/force.js +5 -1
- package/lib/layout/force/force.js.map +1 -1
- package/lib/layout/force/index.js +5 -1
- package/lib/layout/force/index.js.map +1 -1
- package/lib/layout/fruchterman.js.map +1 -1
- package/lib/layout/gForce.js +10 -2
- package/lib/layout/gForce.js.map +1 -1
- package/lib/layout/grid.js +2 -2
- package/lib/layout/grid.js.map +1 -1
- package/lib/layout/index.js +5 -1
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/radial/index.js +5 -1
- package/lib/layout/radial/index.js.map +1 -1
- package/lib/registy/index.js +1 -1
- package/lib/registy/index.js.map +1 -1
- package/lib/util/index.js +5 -1
- package/lib/util/index.js.map +1 -1
- package/package.json +3 -2
- package/src/index.ts +7 -0
- package/src/layout/base.ts +54 -0
- package/src/layout/circular.ts +369 -0
- package/src/layout/comboCombined.ts +390 -0
- package/src/layout/comboForce.ts +873 -0
- package/src/layout/concentric.ts +289 -0
- package/src/layout/constants.ts +21 -0
- package/src/layout/dagre/graph.ts +104 -0
- package/src/layout/dagre/index.ts +31 -0
- package/src/layout/dagre/src/acyclic.ts +58 -0
- package/src/layout/dagre/src/add-border-segments.ts +47 -0
- package/src/layout/dagre/src/coordinate-system.ts +77 -0
- package/src/layout/dagre/src/data/list.ts +60 -0
- package/src/layout/dagre/src/debug.ts +30 -0
- package/src/layout/dagre/src/greedy-fas.ts +144 -0
- package/src/layout/dagre/src/layout.ts +580 -0
- package/src/layout/dagre/src/nesting-graph.ts +143 -0
- package/src/layout/dagre/src/normalize.ts +96 -0
- package/src/layout/dagre/src/order/add-subgraph-constraints.ts +29 -0
- package/src/layout/dagre/src/order/barycenter.ts +26 -0
- package/src/layout/dagre/src/order/build-layer-graph.ts +82 -0
- package/src/layout/dagre/src/order/cross-count.ts +77 -0
- package/src/layout/dagre/src/order/index.ts +105 -0
- package/src/layout/dagre/src/order/init-data-order.ts +27 -0
- package/src/layout/dagre/src/order/init-order.ts +56 -0
- package/src/layout/dagre/src/order/resolve-conflicts.ts +152 -0
- package/src/layout/dagre/src/order/sort-subgraph.ts +105 -0
- package/src/layout/dagre/src/order/sort.ts +76 -0
- package/src/layout/dagre/src/parent-dummy-chains.ts +102 -0
- package/src/layout/dagre/src/position/bk.ts +494 -0
- package/src/layout/dagre/src/position/index.ts +82 -0
- package/src/layout/dagre/src/rank/feasible-tree.ts +165 -0
- package/src/layout/dagre/src/rank/index.ts +54 -0
- package/src/layout/dagre/src/rank/network-simplex.ts +225 -0
- package/src/layout/dagre/src/rank/util.ts +157 -0
- package/src/layout/dagre/src/util.ts +308 -0
- package/src/layout/dagre.ts +423 -0
- package/src/layout/dagreCompound.ts +518 -0
- package/src/layout/er/core.ts +117 -0
- package/src/layout/er/forceGrid.ts +95 -0
- package/src/layout/er/grid.ts +185 -0
- package/src/layout/er/index.ts +68 -0
- package/src/layout/er/mysqlWorkbench.ts +345 -0
- package/src/layout/er/type.ts +39 -0
- package/src/layout/force/force-in-a-box.ts +400 -0
- package/src/layout/force/force.ts +391 -0
- package/src/layout/force/index.ts +1 -0
- package/src/layout/forceAtlas2/body.ts +115 -0
- package/src/layout/forceAtlas2/index.ts +556 -0
- package/src/layout/forceAtlas2/quad.ts +115 -0
- package/src/layout/forceAtlas2/quadTree.ts +107 -0
- package/src/layout/fruchterman.ts +361 -0
- package/src/layout/gForce.ts +487 -0
- package/src/layout/gpu/fruchterman.ts +314 -0
- package/src/layout/gpu/fruchtermanShader.ts +204 -0
- package/src/layout/gpu/gForce.ts +406 -0
- package/src/layout/gpu/gForceShader.ts +221 -0
- package/src/layout/grid.ts +391 -0
- package/src/layout/index.ts +45 -0
- package/src/layout/layout.ts +75 -0
- package/src/layout/mds.ts +140 -0
- package/src/layout/radial/index.ts +1 -0
- package/src/layout/radial/mds.ts +51 -0
- package/src/layout/radial/radial.ts +500 -0
- package/src/layout/radial/radialNonoverlapForce.ts +189 -0
- package/src/layout/random.ts +75 -0
- package/src/layout/types.ts +421 -0
- package/src/registy/index.ts +43 -0
- package/src/util/array.ts +1 -0
- package/src/util/function.ts +64 -0
- package/src/util/gpu.ts +254 -0
- package/src/util/index.ts +6 -0
- package/src/util/math.ts +158 -0
- package/src/util/number.ts +8 -0
- package/src/util/object.ts +28 -0
- package/src/util/string.ts +18 -0
- package/CHANGELOG.md +0 -78
- package/es/layout/dagre/src/graphlib.d.ts +0 -2
- package/es/layout/dagre/src/graphlib.js +0 -51
- package/es/layout/dagre/src/graphlib.js.map +0 -1
- package/lib/layout/dagre/src/graphlib.d.ts +0 -2
- package/lib/layout/dagre/src/graphlib.js +0 -56
- package/lib/layout/dagre/src/graphlib.js.map +0 -1
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var util_1 =
|
|
3
|
+
var util_1 = require("./util");
|
|
7
4
|
/*
|
|
8
5
|
* A nesting graph creates dummy nodes for the tops and bottoms of subgraphs,
|
|
9
6
|
* adds appropriate edges to ensure that all cluster nodes are placed between
|
|
@@ -29,14 +26,19 @@ var util_1 = __importDefault(require("./util"));
|
|
|
29
26
|
*/
|
|
30
27
|
var run = function (g) {
|
|
31
28
|
var _a;
|
|
32
|
-
var root = util_1.
|
|
29
|
+
var root = (0, util_1.addDummyNode)(g, "root", {}, "_root");
|
|
33
30
|
var depths = treeDepths(g);
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
var maxDepth = Math.max.apply(Math, Object.values(depths));
|
|
32
|
+
if (Math.abs(maxDepth) === Infinity) {
|
|
33
|
+
maxDepth = 1;
|
|
34
|
+
}
|
|
35
|
+
var height = maxDepth - 1; // Note: depths is an Object not an array
|
|
36
36
|
var nodeSep = 2 * height + 1;
|
|
37
37
|
g.graph().nestingRoot = root;
|
|
38
38
|
// Multiply minlen by nodeSep to align nodes on non-border ranks.
|
|
39
|
-
g.edges().forEach(function (e) {
|
|
39
|
+
g.edges().forEach(function (e) {
|
|
40
|
+
g.edge(e).minlen *= nodeSep;
|
|
41
|
+
});
|
|
40
42
|
// Calculate a weight that is sufficient to keep subgraphs vertically compact
|
|
41
43
|
var weight = sumWeights(g) + 1;
|
|
42
44
|
// Create border nodes and link them up
|
|
@@ -55,8 +57,8 @@ var dfs = function (g, root, nodeSep, weight, height, depths, v) {
|
|
|
55
57
|
}
|
|
56
58
|
return;
|
|
57
59
|
}
|
|
58
|
-
var top = util_1.
|
|
59
|
-
var bottom = util_1.
|
|
60
|
+
var top = (0, util_1.addBorderNode)(g, "_bt");
|
|
61
|
+
var bottom = (0, util_1.addBorderNode)(g, "_bb");
|
|
60
62
|
var label = g.node(v);
|
|
61
63
|
g.setParent(top, v);
|
|
62
64
|
label.borderTop = top;
|
|
@@ -72,12 +74,12 @@ var dfs = function (g, root, nodeSep, weight, height, depths, v) {
|
|
|
72
74
|
g.setEdge(top, childTop, {
|
|
73
75
|
minlen: minlen,
|
|
74
76
|
weight: thisWeight,
|
|
75
|
-
nestingEdge: true
|
|
77
|
+
nestingEdge: true,
|
|
76
78
|
});
|
|
77
79
|
g.setEdge(childBottom, bottom, {
|
|
78
80
|
minlen: minlen,
|
|
79
81
|
weight: thisWeight,
|
|
80
|
-
nestingEdge: true
|
|
82
|
+
nestingEdge: true,
|
|
81
83
|
});
|
|
82
84
|
});
|
|
83
85
|
if (!g.parent(v)) {
|
|
@@ -109,7 +111,7 @@ var cleanup = function (g) {
|
|
|
109
111
|
g.edges().forEach(function (e) {
|
|
110
112
|
var edge = g.edge(e);
|
|
111
113
|
if (edge.nestingEdge) {
|
|
112
|
-
g.
|
|
114
|
+
g.removeEdgeObj(e);
|
|
113
115
|
}
|
|
114
116
|
});
|
|
115
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nesting-graph.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/nesting-graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nesting-graph.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/nesting-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var util_1 =
|
|
3
|
+
var util_1 = require("./util");
|
|
7
4
|
/*
|
|
8
5
|
* Breaks any long edges in the graph into short segments that span 1 layer
|
|
9
6
|
* each. This operation is undoable with the denormalize function.
|
|
@@ -25,7 +22,6 @@ var run = function (g) {
|
|
|
25
22
|
g.edges().forEach(function (edge) { return normalizeEdge(g, edge); });
|
|
26
23
|
};
|
|
27
24
|
var normalizeEdge = function (g, e) {
|
|
28
|
-
var _a, _b;
|
|
29
25
|
var v = e.v;
|
|
30
26
|
var vRank = g.node(v).rank;
|
|
31
27
|
var w = e.w;
|
|
@@ -35,7 +31,8 @@ var normalizeEdge = function (g, e) {
|
|
|
35
31
|
var labelRank = edgeLabel.labelRank;
|
|
36
32
|
if (wRank === vRank + 1)
|
|
37
33
|
return;
|
|
38
|
-
g.
|
|
34
|
+
g.removeEdgeObj(e);
|
|
35
|
+
var graph = g.graph();
|
|
39
36
|
var dummy;
|
|
40
37
|
var attrs;
|
|
41
38
|
var i;
|
|
@@ -46,9 +43,9 @@ var normalizeEdge = function (g, e) {
|
|
|
46
43
|
width: 0,
|
|
47
44
|
height: 0,
|
|
48
45
|
edgeObj: e,
|
|
49
|
-
rank: vRank
|
|
46
|
+
rank: vRank,
|
|
50
47
|
};
|
|
51
|
-
dummy = util_1.
|
|
48
|
+
dummy = (0, util_1.addDummyNode)(g, "edge", attrs, "_d");
|
|
52
49
|
if (vRank === labelRank) {
|
|
53
50
|
attrs.width = edgeLabel.width;
|
|
54
51
|
attrs.height = edgeLabel.height;
|
|
@@ -57,9 +54,9 @@ var normalizeEdge = function (g, e) {
|
|
|
57
54
|
}
|
|
58
55
|
g.setEdge(v, dummy, { weight: edgeLabel.weight }, name);
|
|
59
56
|
if (i === 0) {
|
|
60
|
-
if (!
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
if (!graph.dummyChains)
|
|
58
|
+
graph.dummyChains = [];
|
|
59
|
+
graph.dummyChains.push(dummy);
|
|
63
60
|
}
|
|
64
61
|
v = dummy;
|
|
65
62
|
}
|
|
@@ -68,14 +65,15 @@ var normalizeEdge = function (g, e) {
|
|
|
68
65
|
var undo = function (g) {
|
|
69
66
|
var _a;
|
|
70
67
|
(_a = g.graph().dummyChains) === null || _a === void 0 ? void 0 : _a.forEach(function (v) {
|
|
71
|
-
var _a;
|
|
72
68
|
var node = g.node(v);
|
|
73
69
|
var origLabel = node.edgeLabel;
|
|
74
70
|
var w;
|
|
75
|
-
|
|
71
|
+
if (node.edgeObj) {
|
|
72
|
+
g.setEdgeObj(node.edgeObj, origLabel);
|
|
73
|
+
}
|
|
76
74
|
var currentV = v;
|
|
77
75
|
while (node.dummy) {
|
|
78
|
-
w =
|
|
76
|
+
w = g.successors(currentV)[0];
|
|
79
77
|
g.removeNode(currentV);
|
|
80
78
|
origLabel.points.push({ x: node.x, y: node.y });
|
|
81
79
|
if (node.dummy === "edge-label") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/normalize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../../src/layout/dagre/src/normalize.ts"],"names":[],"mappings":";;AACA,+BAAsC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,IAAM,GAAG,GAAG,UAAC,CAAQ;IACnB,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC;IAC3B,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,EAAtB,CAAsB,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG,UAAC,CAAQ,EAAE,CAAO;IACtC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC;IACtC,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACd,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC;IACxC,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,IAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;IAC7B,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IAEtC,IAAI,KAAK,KAAK,KAAK,GAAG,CAAC;QAAE,OAAO;IAEhC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEnB,IAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAExB,IAAI,KAAa,CAAC;IAClB,IAAI,KAAgC,CAAC;IACrC,IAAI,CAAC,CAAC;IACN,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE;QAChD,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;QACtB,KAAK,GAAG;YACN,SAAS,WAAA;YACT,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,KAAK;SACZ,CAAC;QACF,KAAK,GAAG,IAAA,mBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAM,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAO,CAAC;YACjC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;YAC3B,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;SACrC;QACD,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,WAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;QACD,CAAC,GAAG,KAAK,CAAC;KACX;IAED,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,IAAM,IAAI,GAAG,UAAC,CAAQ;;IACpB,MAAA,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,0CAAE,OAAO,CAAC,UAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACtB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,CAAC;QACN,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SACvC;QAED,IAAI,QAAQ,GAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC,KAAK,EAAE;YACjB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE;gBAC/B,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrB,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aAChC;YACD,QAAQ,GAAG,CAAC,CAAC;YACb,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-subgraph-constraints.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/add-subgraph-constraints.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"add-subgraph-constraints.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/add-subgraph-constraints.ts"],"names":[],"mappings":";;AAEA,IAAM,sBAAsB,GAAG,UAAC,CAAQ,EAAE,EAAS,EAAE,EAAY;IAC/D,IAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,IAAI,QAAgB,CAAC;IAErB,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,UAAC,CAAC;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC;QACX,IAAI,SAAS,CAAC;QACd,OAAO,KAAK,EAAE;YACZ,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,MAAM,EAAE;gBACV,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;aACtB;iBAAM;gBACL,SAAS,GAAG,QAAQ,CAAC;gBACrB,QAAQ,GAAG,KAAK,CAAC;aAClB;YACD,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,EAAE;gBACpC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC7B,OAAO;aACR;YACD,KAAK,GAAG,MAAM,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barycenter.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/barycenter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"barycenter.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/barycenter.ts"],"names":[],"mappings":";;AAEA,IAAM,UAAU,GAAG,UAAC,CAAQ,EAAE,OAAiB;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC;QACnB,IAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,EAAE;YAChB,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC;SACd;QAAE;YACD,IAAM,QAAM,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACrC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,UAAC,CAAC;gBACb,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;gBACxB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;gBAC3B,QAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAO,GAAI,KAAK,CAAC,KAAgB,CAAC,CAAC;gBACvD,QAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAO,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,CAAC,GAAA;gBACD,UAAU,EAAE,QAAM,CAAC,GAAG,GAAG,QAAM,CAAC,MAAM;gBACtC,MAAM,EAAE,QAAM,CAAC,MAAM;aACtB,CAAC;SACH;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare
|
|
3
|
-
declare const buildLayerGraph: (g: IGraph, rank: number, relationship: string) => any;
|
|
1
|
+
import { Graph } from "../../graph";
|
|
2
|
+
declare const buildLayerGraph: (g: Graph, rank: number, relationship: "inEdges" | "outEdges") => Graph;
|
|
4
3
|
export default buildLayerGraph;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var
|
|
7
|
-
var Graph = graphlib_1.default.Graph;
|
|
3
|
+
var graph_1 = require("../../graph");
|
|
8
4
|
/*
|
|
9
5
|
* Constructs a graph that can be used to sort a layer of nodes. The graph will
|
|
10
6
|
* contain all base and subgraph nodes from the request layer in their original
|
|
@@ -37,25 +33,30 @@ var Graph = graphlib_1.default.Graph;
|
|
|
37
33
|
*/
|
|
38
34
|
var buildLayerGraph = function (g, rank, relationship) {
|
|
39
35
|
var root = createRootNode(g);
|
|
40
|
-
var result = new Graph({ compound: true })
|
|
41
|
-
.
|
|
36
|
+
var result = new graph_1.Graph({ compound: true })
|
|
37
|
+
.setGraph({ root: root })
|
|
38
|
+
.setDefaultNodeLabel(function (v) {
|
|
39
|
+
return g.node(v);
|
|
40
|
+
});
|
|
42
41
|
g.nodes().forEach(function (v) {
|
|
42
|
+
var _a;
|
|
43
43
|
var node = g.node(v);
|
|
44
44
|
var parent = g.parent(v);
|
|
45
|
-
if (node.rank === rank ||
|
|
45
|
+
if (node.rank === rank ||
|
|
46
|
+
(node.minRank <= rank && rank <= node.maxRank)) {
|
|
46
47
|
result.setNode(v);
|
|
47
48
|
result.setParent(v, parent || root);
|
|
48
49
|
// This assumes we have only short edges!
|
|
49
|
-
g[relationship](v).forEach(function (e) {
|
|
50
|
+
(_a = g[relationship](v)) === null || _a === void 0 ? void 0 : _a.forEach(function (e) {
|
|
50
51
|
var u = e.v === v ? e.w : e.v;
|
|
51
|
-
var edge = result.
|
|
52
|
+
var edge = result.edgeFromArgs(u, v);
|
|
52
53
|
var weight = edge !== undefined ? edge.weight : 0;
|
|
53
54
|
result.setEdge(u, v, { weight: g.edge(e).weight + weight });
|
|
54
55
|
});
|
|
55
56
|
if (node.hasOwnProperty("minRank")) {
|
|
56
57
|
result.setNode(v, {
|
|
57
58
|
borderLeft: node.borderLeft[rank],
|
|
58
|
-
borderRight: node.borderRight[rank]
|
|
59
|
+
borderRight: node.borderRight[rank],
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
62
|
}
|
|
@@ -64,7 +65,7 @@ var buildLayerGraph = function (g, rank, relationship) {
|
|
|
64
65
|
};
|
|
65
66
|
var createRootNode = function (g) {
|
|
66
67
|
var v;
|
|
67
|
-
while (g.hasNode((v = "_root"
|
|
68
|
+
while (g.hasNode((v = "_root".concat(Math.random()))))
|
|
68
69
|
;
|
|
69
70
|
return v;
|
|
70
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-layer-graph.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/build-layer-graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-layer-graph.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/build-layer-graph.ts"],"names":[],"mappings":";;AAAA,qCAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,IAAM,eAAe,GAAG,UACtB,CAAQ,EACR,IAAY,EACZ,YAAoC;IAEpC,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAM,MAAM,GAAG,IAAI,aAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SACzC,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC;SAClB,mBAAmB,CAAC,UAAC,CAAS;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC;;QAClB,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B,IACE,IAAI,CAAC,IAAI,KAAK,IAAI;YAClB,CAAE,IAAI,CAAC,OAAkB,IAAI,IAAI,IAAI,IAAI,IAAK,IAAI,CAAC,OAAkB,CAAC,EACtE;YACA,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;YAEpC,yCAAyC;YACzC,MAAA,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,UAAC,CAAC;gBAC5B,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAO,GAAG,MAAO,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;gBAClC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;oBAChB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACjC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;iBACpC,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,IAAM,cAAc,GAAG,UAAC,CAAQ;IAC9B,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,eAAQ,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;QAAC,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare
|
|
3
|
-
declare const crossCount: (g: Graph, layering: any) => number;
|
|
1
|
+
import { Graph } from "../../graph";
|
|
2
|
+
declare const crossCount: (g: Graph, layering: string[][]) => number;
|
|
4
3
|
export default crossCount;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var util_1 = require("../util");
|
|
4
2
|
/*
|
|
5
3
|
* A function that takes a layering (an array of layers, each with an array of
|
|
6
4
|
* ordererd nodes) and a graph and returns a weighted crossing count.
|
|
@@ -17,6 +15,8 @@ var util_1 = require("../util");
|
|
|
17
15
|
*
|
|
18
16
|
* This algorithm is derived from Barth, et al., "Bilayer Cross Counting."
|
|
19
17
|
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
var util_1 = require("../util");
|
|
20
20
|
var twoLayerCrossCount = function (g, northLayer, southLayer) {
|
|
21
21
|
// Sort all of the edges between the north and south layers by their position
|
|
22
22
|
// in the north layer and then the south. Map these edges to the position of
|
|
@@ -29,7 +29,6 @@ var twoLayerCrossCount = function (g, northLayer, southLayer) {
|
|
|
29
29
|
});
|
|
30
30
|
return unsort === null || unsort === void 0 ? void 0 : unsort.sort(function (a, b) { return a.pos - b.pos; });
|
|
31
31
|
});
|
|
32
|
-
// @ts-ignore
|
|
33
32
|
var southEntries = unflat.flat().filter(function (entry) { return entry !== undefined; });
|
|
34
33
|
// Build the accumulator tree
|
|
35
34
|
var firstIndex = 1;
|
|
@@ -41,23 +40,25 @@ var twoLayerCrossCount = function (g, northLayer, southLayer) {
|
|
|
41
40
|
// Calculate the weighted crossings
|
|
42
41
|
var cc = 0;
|
|
43
42
|
southEntries === null || southEntries === void 0 ? void 0 : southEntries.forEach(function (entry) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var weightSum = 0;
|
|
47
|
-
while (index > 0) {
|
|
48
|
-
if (index % 2) {
|
|
49
|
-
weightSum += tree[index + 1];
|
|
50
|
-
}
|
|
51
|
-
index = (index - 1) >> 1;
|
|
43
|
+
if (entry) {
|
|
44
|
+
var index = entry.pos + firstIndex;
|
|
52
45
|
tree[index] += entry.weight;
|
|
46
|
+
var weightSum = 0;
|
|
47
|
+
while (index > 0) {
|
|
48
|
+
if (index % 2) {
|
|
49
|
+
weightSum += tree[index + 1];
|
|
50
|
+
}
|
|
51
|
+
index = (index - 1) >> 1;
|
|
52
|
+
tree[index] += entry.weight;
|
|
53
|
+
}
|
|
54
|
+
cc += entry.weight * weightSum;
|
|
53
55
|
}
|
|
54
|
-
cc += entry.weight * weightSum;
|
|
55
56
|
});
|
|
56
57
|
return cc;
|
|
57
58
|
};
|
|
58
59
|
var crossCount = function (g, layering) {
|
|
59
60
|
var cc = 0;
|
|
60
|
-
for (var i = 1; i < (layering === null || layering === void 0 ? void 0 : layering.length);
|
|
61
|
+
for (var i = 1; i < (layering === null || layering === void 0 ? void 0 : layering.length); i += 1) {
|
|
61
62
|
cc += twoLayerCrossCount(g, layering[i - 1], layering[i]);
|
|
62
63
|
}
|
|
63
64
|
return cc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-count.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/cross-count.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cross-count.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/cross-count.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,9 @@ var cross_count_1 = __importDefault(require("./cross-count"));
|
|
|
8
8
|
var build_layer_graph_1 = __importDefault(require("./build-layer-graph"));
|
|
9
9
|
var add_subgraph_constraints_1 = __importDefault(require("./add-subgraph-constraints"));
|
|
10
10
|
var sort_subgraph_1 = __importDefault(require("./sort-subgraph"));
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var util_2 = require("
|
|
14
|
-
var Graph = graphlib_1.default.Graph;
|
|
11
|
+
var util_1 = require("../../../../util");
|
|
12
|
+
var graph_1 = require("../../graph");
|
|
13
|
+
var util_2 = require("../util");
|
|
15
14
|
/*
|
|
16
15
|
* Applies heuristics to minimize edge crossings in the graph and sets the best
|
|
17
16
|
* order solution as an order attribute on each node.
|
|
@@ -28,12 +27,12 @@ var Graph = graphlib_1.default.Graph;
|
|
|
28
27
|
* algorithm.
|
|
29
28
|
*/
|
|
30
29
|
var order = function (g) {
|
|
31
|
-
var
|
|
30
|
+
var mxRank = (0, util_2.maxRank)(g);
|
|
32
31
|
var range1 = [];
|
|
33
32
|
var range2 = [];
|
|
34
|
-
for (var i = 1; i <
|
|
33
|
+
for (var i = 1; i < mxRank + 1; i++)
|
|
35
34
|
range1.push(i);
|
|
36
|
-
for (var i =
|
|
35
|
+
for (var i = mxRank - 1; i > -1; i--)
|
|
37
36
|
range2.push(i);
|
|
38
37
|
var downLayerGraphs = buildLayerGraphs(g, range1, "inEdges");
|
|
39
38
|
var upLayerGraphs = buildLayerGraphs(g, range2, "outEdges");
|
|
@@ -43,11 +42,11 @@ var order = function (g) {
|
|
|
43
42
|
var best;
|
|
44
43
|
for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) {
|
|
45
44
|
sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2);
|
|
46
|
-
layering =
|
|
45
|
+
layering = (0, util_2.buildLayerMatrix)(g);
|
|
47
46
|
var cc = (0, cross_count_1.default)(g, layering);
|
|
48
47
|
if (cc < bestCC) {
|
|
49
48
|
lastBest = 0;
|
|
50
|
-
best = (0,
|
|
49
|
+
best = (0, util_1.clone)(layering);
|
|
51
50
|
bestCC = cc;
|
|
52
51
|
}
|
|
53
52
|
}
|
|
@@ -56,11 +55,11 @@ var order = function (g) {
|
|
|
56
55
|
assignOrder(g, layering);
|
|
57
56
|
for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) {
|
|
58
57
|
sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2, true);
|
|
59
|
-
layering =
|
|
58
|
+
layering = (0, util_2.buildLayerMatrix)(g);
|
|
60
59
|
var cc = (0, cross_count_1.default)(g, layering);
|
|
61
60
|
if (cc < bestCC) {
|
|
62
61
|
lastBest = 0;
|
|
63
|
-
best = (0,
|
|
62
|
+
best = (0, util_1.clone)(layering);
|
|
64
63
|
bestCC = cc;
|
|
65
64
|
}
|
|
66
65
|
}
|
|
@@ -72,13 +71,16 @@ var buildLayerGraphs = function (g, ranks, relationship) {
|
|
|
72
71
|
});
|
|
73
72
|
};
|
|
74
73
|
var sweepLayerGraphs = function (layerGraphs, biasRight, usePrev) {
|
|
75
|
-
var cg = new Graph();
|
|
74
|
+
var cg = new graph_1.Graph();
|
|
76
75
|
layerGraphs === null || layerGraphs === void 0 ? void 0 : layerGraphs.forEach(function (lg) {
|
|
77
76
|
var _a;
|
|
78
77
|
var root = lg.graph().root;
|
|
79
78
|
var sorted = (0, sort_subgraph_1.default)(lg, root, cg, biasRight, usePrev);
|
|
80
79
|
for (var i = 0; i < ((_a = sorted.vs) === null || _a === void 0 ? void 0 : _a.length) || 0; i++) {
|
|
81
|
-
lg.node(sorted.vs[i])
|
|
80
|
+
var lnode = lg.node(sorted.vs[i]);
|
|
81
|
+
if (lnode) {
|
|
82
|
+
lnode.order = i;
|
|
83
|
+
}
|
|
82
84
|
}
|
|
83
85
|
(0, add_subgraph_constraints_1.default)(lg, cg, sorted.vs);
|
|
84
86
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAqC;AACrC,8DAAuC;AACvC,0EAAkD;AAClD,wFAAgE;AAChE,kEAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,15 +10,13 @@ var initDataOrder = function (g, nodeOrder) {
|
|
|
10
10
|
});
|
|
11
11
|
var ranks = simpleNodes.map(function (v) { return g.node(v).rank; });
|
|
12
12
|
var maxRank = Math.max.apply(Math, ranks);
|
|
13
|
-
var layers = [];
|
|
14
|
-
for (var i = 0; i < maxRank + 1; i++) {
|
|
15
|
-
layers.push([]);
|
|
16
|
-
}
|
|
13
|
+
var layers = Array(maxRank + 1).fill([]);
|
|
17
14
|
nodeOrder === null || nodeOrder === void 0 ? void 0 : nodeOrder.forEach(function (n) {
|
|
18
15
|
var node = g.node(n);
|
|
19
16
|
// 只考虑原有节点,dummy节点需要按照后续算法排出
|
|
20
|
-
if (!node || node.dummy)
|
|
17
|
+
if (!node || (node === null || node === void 0 ? void 0 : node.dummy)) {
|
|
21
18
|
return;
|
|
19
|
+
}
|
|
22
20
|
if (!isNaN(node.rank)) {
|
|
23
21
|
node.fixorder = layers[node.rank].length; // 设置fixorder为当层的顺序
|
|
24
22
|
layers[node.rank].push(n);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-data-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-data-order.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"init-data-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-data-order.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,IAAM,aAAa,GAAG,UAAC,CAAQ,EAAE,SAAmB;IAClD,IAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAC,CAAC;;QACrC,OAAO,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAA,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,IAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,EAAzB,CAAyB,CAAC,CAAC;IAChE,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,KAAK,CAAC,CAAC;IACnC,IAAM,MAAM,GAAe,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,UAAC,CAAC;QACnB,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,4BAA4B;QAC5B,IAAI,CAAC,IAAI,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,EAAE;YACxB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB;YACvE,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -23,7 +23,6 @@ var initOrder = function (g) {
|
|
|
23
23
|
for (var i = 0; i < maxRank + 1; i++) {
|
|
24
24
|
layers.push([]);
|
|
25
25
|
}
|
|
26
|
-
// const layers = _.map(_.range(maxRank + 1), function() { return []; });
|
|
27
26
|
var dfs = function (v) {
|
|
28
27
|
var _a;
|
|
29
28
|
if (visited.hasOwnProperty(v))
|
|
@@ -36,7 +35,7 @@ var initOrder = function (g) {
|
|
|
36
35
|
(_a = g.successors(v)) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { return dfs(child); });
|
|
37
36
|
};
|
|
38
37
|
var orderedVs = simpleNodes.sort(function (a, b) { return g.node(a).rank - g.node(b).rank; });
|
|
39
|
-
// const orderedVs = _.sortBy(simpleNodes, function(v) { return g.node(v)
|
|
38
|
+
// const orderedVs = _.sortBy(simpleNodes, function(v) { return g.node(v)!.rank; });
|
|
40
39
|
// 有fixOrder的,直接排序好放进去
|
|
41
40
|
var beforeSort = orderedVs.filter(function (n) {
|
|
42
41
|
return g.node(n).fixorder !== undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-order.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"init-order.js","sourceRoot":"","sources":["../../../../../src/layout/dagre/src/order/init-order.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;GAUG;AACH,IAAM,SAAS,GAAG,UAAC,CAAQ;IACzB,IAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAC,CAAC;;QACrC,OAAO,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAA,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,IAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,EAA3B,CAA2B,CAAC,CAAC;IACtE,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,SAAS,CAAC,CAAC;IACvC,IAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,IAAM,GAAG,GAAG,UAAC,CAAS;;QACpB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,OAAO;QACtC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAClB,IAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrC;QACD,MAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,UAAC,KAAK,IAAK,OAAA,GAAG,CAAC,KAAY,CAAC,EAAjB,CAAiB,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,IAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAe,EAAzD,CAAyD,CAAC,CAAC;IACxG,oFAAoF;IAEpF,sBAAsB;IACtB,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,CAAC;QACpC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,IAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAmB,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,QAAmB,EAAjE,CAAiE,CAAC,CAAC;IACnH,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,UAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,EAAE;YACrC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare type
|
|
3
|
-
|
|
1
|
+
import { Graph } from "../../graph";
|
|
2
|
+
export declare type ConflictEntry = {
|
|
3
|
+
i: number;
|
|
4
|
+
indegree?: number;
|
|
5
|
+
in?: ConflictEntry[];
|
|
6
|
+
out?: ConflictEntry[];
|
|
7
|
+
vs: string[];
|
|
8
|
+
barycenter?: number;
|
|
9
|
+
weight?: number;
|
|
10
|
+
merged?: boolean;
|
|
11
|
+
fixorder?: number;
|
|
12
|
+
order?: number;
|
|
13
|
+
};
|
|
14
|
+
declare const resolveConflicts: (entries: {
|
|
15
|
+
v: string;
|
|
16
|
+
barycenter?: number;
|
|
17
|
+
weight?: number;
|
|
18
|
+
}[], cg: Graph) => ConflictEntry[];
|
|
4
19
|
export default resolveConflicts;
|