@antv/layout 1.2.8 → 1.2.10

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 (135) hide show
  1. package/dist/5fc550bbb6f708833d84.worker.js +2 -0
  2. package/dist/5fc550bbb6f708833d84.worker.js.map +1 -0
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.min.js.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/5cb5472f0e3cc36231e3.worker.js +0 -2
  7. package/dist/5cb5472f0e3cc36231e3.worker.js.map +0 -1
  8. package/lib/bundle-entry.js +0 -19
  9. package/lib/bundle-entry.js.map +0 -1
  10. package/lib/bundle-supervisor.js +0 -94
  11. package/lib/bundle-supervisor.js.map +0 -1
  12. package/lib/bundle-worker.js +0 -53
  13. package/lib/bundle-worker.js.map +0 -1
  14. package/lib/circular.js +0 -258
  15. package/lib/circular.js.map +0 -1
  16. package/lib/comboCombined.js +0 -441
  17. package/lib/comboCombined.js.map +0 -1
  18. package/lib/concentric.js +0 -229
  19. package/lib/concentric.js.map +0 -1
  20. package/lib/d3Force/forceInBox.js +0 -331
  21. package/lib/d3Force/forceInBox.js.map +0 -1
  22. package/lib/d3Force/index.js +0 -339
  23. package/lib/d3Force/index.js.map +0 -1
  24. package/lib/dagre/acyclic.js +0 -62
  25. package/lib/dagre/acyclic.js.map +0 -1
  26. package/lib/dagre/add-border-segments.js +0 -37
  27. package/lib/dagre/add-border-segments.js.map +0 -1
  28. package/lib/dagre/coordinate-system.js +0 -65
  29. package/lib/dagre/coordinate-system.js.map +0 -1
  30. package/lib/dagre/data/list.js +0 -50
  31. package/lib/dagre/data/list.js.map +0 -1
  32. package/lib/dagre/greedy-fas.js +0 -147
  33. package/lib/dagre/greedy-fas.js.map +0 -1
  34. package/lib/dagre/layout.js +0 -470
  35. package/lib/dagre/layout.js.map +0 -1
  36. package/lib/dagre/nesting-graph.js +0 -153
  37. package/lib/dagre/nesting-graph.js.map +0 -1
  38. package/lib/dagre/normalize.js +0 -98
  39. package/lib/dagre/normalize.js.map +0 -1
  40. package/lib/dagre/order/add-subgraph-constraints.js +0 -45
  41. package/lib/dagre/order/add-subgraph-constraints.js.map +0 -1
  42. package/lib/dagre/order/barycenter.js +0 -23
  43. package/lib/dagre/order/barycenter.js.map +0 -1
  44. package/lib/dagre/order/build-layer-graph.js +0 -96
  45. package/lib/dagre/order/build-layer-graph.js.map +0 -1
  46. package/lib/dagre/order/cross-count.js +0 -63
  47. package/lib/dagre/order/cross-count.js.map +0 -1
  48. package/lib/dagre/order/index.js +0 -91
  49. package/lib/dagre/order/index.js.map +0 -1
  50. package/lib/dagre/order/init-data-order.js +0 -28
  51. package/lib/dagre/order/init-data-order.js.map +0 -1
  52. package/lib/dagre/order/init-order.js +0 -50
  53. package/lib/dagre/order/init-order.js.map +0 -1
  54. package/lib/dagre/order/resolve-conflicts.js +0 -121
  55. package/lib/dagre/order/resolve-conflicts.js.map +0 -1
  56. package/lib/dagre/order/sort-subgraph.js +0 -84
  57. package/lib/dagre/order/sort-subgraph.js.map +0 -1
  58. package/lib/dagre/order/sort.js +0 -74
  59. package/lib/dagre/order/sort.js.map +0 -1
  60. package/lib/dagre/parent-dummy-chains.js +0 -80
  61. package/lib/dagre/parent-dummy-chains.js.map +0 -1
  62. package/lib/dagre/position/bk.js +0 -398
  63. package/lib/dagre/position/bk.js.map +0 -1
  64. package/lib/dagre/position/index.js +0 -54
  65. package/lib/dagre/position/index.js.map +0 -1
  66. package/lib/dagre/rank/feasible-tree.js +0 -164
  67. package/lib/dagre/rank/feasible-tree.js.map +0 -1
  68. package/lib/dagre/rank/index.js +0 -48
  69. package/lib/dagre/rank/index.js.map +0 -1
  70. package/lib/dagre/rank/network-simplex.js +0 -232
  71. package/lib/dagre/rank/network-simplex.js.map +0 -1
  72. package/lib/dagre/rank/util.js +0 -138
  73. package/lib/dagre/rank/util.js.map +0 -1
  74. package/lib/dagre/util.js +0 -289
  75. package/lib/dagre/util.js.map +0 -1
  76. package/lib/dagre.js +0 -545
  77. package/lib/dagre.js.map +0 -1
  78. package/lib/force/forceNBody.js +0 -123
  79. package/lib/force/forceNBody.js.map +0 -1
  80. package/lib/force/index.js +0 -808
  81. package/lib/force/index.js.map +0 -1
  82. package/lib/force/types.js +0 -2
  83. package/lib/force/types.js.map +0 -1
  84. package/lib/forceAtlas2/body.js +0 -91
  85. package/lib/forceAtlas2/body.js.map +0 -1
  86. package/lib/forceAtlas2/index.js +0 -562
  87. package/lib/forceAtlas2/index.js.map +0 -1
  88. package/lib/forceAtlas2/quad.js +0 -98
  89. package/lib/forceAtlas2/quad.js.map +0 -1
  90. package/lib/forceAtlas2/quadTree.js +0 -105
  91. package/lib/forceAtlas2/quadTree.js.map +0 -1
  92. package/lib/fruchterman.js +0 -376
  93. package/lib/fruchterman.js.map +0 -1
  94. package/lib/grid.js +0 -308
  95. package/lib/grid.js.map +0 -1
  96. package/lib/index.js +0 -17
  97. package/lib/index.js.map +0 -1
  98. package/lib/mds.js +0 -137
  99. package/lib/mds.js.map +0 -1
  100. package/lib/radial/index.js +0 -355
  101. package/lib/radial/index.js.map +0 -1
  102. package/lib/radial/mds.js +0 -29
  103. package/lib/radial/mds.js.map +0 -1
  104. package/lib/radial/radial-nonoverlap-force.js +0 -100
  105. package/lib/radial/radial-nonoverlap-force.js.map +0 -1
  106. package/lib/random.js +0 -98
  107. package/lib/random.js.map +0 -1
  108. package/lib/registry.js +0 -27
  109. package/lib/registry.js.map +0 -1
  110. package/lib/supervisor.js +0 -90
  111. package/lib/supervisor.js.map +0 -1
  112. package/lib/types.js +0 -4
  113. package/lib/types.js.map +0 -1
  114. package/lib/util/array.js +0 -2
  115. package/lib/util/array.js.map +0 -1
  116. package/lib/util/common.d.ts +0 -12
  117. package/lib/util/common.js +0 -32
  118. package/lib/util/common.js.map +0 -1
  119. package/lib/util/function.js +0 -127
  120. package/lib/util/function.js.map +0 -1
  121. package/lib/util/gpu.js +0 -214
  122. package/lib/util/gpu.js.map +0 -1
  123. package/lib/util/index.js +0 -7
  124. package/lib/util/index.js.map +0 -1
  125. package/lib/util/math.js +0 -257
  126. package/lib/util/math.js.map +0 -1
  127. package/lib/util/number.js +0 -5
  128. package/lib/util/number.js.map +0 -1
  129. package/lib/util/object.js +0 -42
  130. package/lib/util/object.js.map +0 -1
  131. package/lib/util/string.js +0 -15
  132. package/lib/util/string.js.map +0 -1
  133. package/lib/worker.d.ts +0 -1
  134. package/lib/worker.js +0 -45
  135. package/lib/worker.js.map +0 -1
package/lib/grid.js DELETED
@@ -1,308 +0,0 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
- import { isString, isNumber } from "@antv/util";
3
- import { isArray, formatSizeFn, formatNumberFn, cloneFormatData } from "./util";
4
- import { handleSingleNodeGraph } from "./util/common";
5
- var DEFAULTS_LAYOUT_OPTIONS = {
6
- begin: [0, 0],
7
- preventOverlap: true,
8
- preventOverlapPadding: 10,
9
- condense: false,
10
- rows: undefined,
11
- cols: undefined,
12
- position: undefined,
13
- sortBy: "degree",
14
- nodeSize: 30,
15
- width: 300,
16
- height: 300,
17
- };
18
- /**
19
- * Layout arranging the nodes in a grid.
20
- *
21
- * @example
22
- * // Assign layout options when initialization.
23
- * const layout = new GridLayout({ rows: 10 });
24
- * const positions = await layout.execute(graph); // { nodes: [], edges: [] }
25
- *
26
- * // Or use different options later.
27
- * const layout = new GridLayout({ rows: 10 });
28
- * const positions = await layout.execute(graph, { rows: 20 }); // { nodes: [], edges: [] }
29
- *
30
- * // If you want to assign the positions directly to the nodes, use assign method.
31
- * await layout.assign(graph, { rows: 20 });
32
- */
33
- var GridLayout = /** @class */ (function () {
34
- function GridLayout(options) {
35
- if (options === void 0) { options = {}; }
36
- this.options = options;
37
- this.id = "grid";
38
- this.options = __assign(__assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
39
- }
40
- /**
41
- * Return the positions of nodes and edges(if needed).
42
- */
43
- GridLayout.prototype.execute = function (graph, options) {
44
- return __awaiter(this, void 0, void 0, function () {
45
- return __generator(this, function (_a) {
46
- return [2 /*return*/, this.genericGridLayout(false, graph, options)];
47
- });
48
- });
49
- };
50
- /**
51
- * To directly assign the positions to the nodes.
52
- */
53
- GridLayout.prototype.assign = function (graph, options) {
54
- return __awaiter(this, void 0, void 0, function () {
55
- return __generator(this, function (_a) {
56
- this.genericGridLayout(true, graph, options);
57
- return [2 /*return*/];
58
- });
59
- });
60
- };
61
- GridLayout.prototype.genericGridLayout = function (assign, graph, options) {
62
- return __awaiter(this, void 0, void 0, function () {
63
- var mergedOptions, _a, begin, condense, preventOverlapPadding, preventOverlap, propsRows, propsCols, paramNodeSpacing, paramNodeSize, propsWidth, propsHeight, position, sortBy, nodes, edges, n, layoutNodes, width, height, cells, rcs, splits, sm, lg, sm, lg, cellWidth, cellHeight, nodeSpacing_1, nodeSize_1, cellUsed, rc, id2manPos, i, node, rcPos, pos, result;
64
- return __generator(this, function (_b) {
65
- mergedOptions = __assign(__assign({}, this.options), options);
66
- _a = mergedOptions.begin, begin = _a === void 0 ? [0, 0] : _a, condense = mergedOptions.condense, preventOverlapPadding = mergedOptions.preventOverlapPadding, preventOverlap = mergedOptions.preventOverlap, propsRows = mergedOptions.rows, propsCols = mergedOptions.cols, paramNodeSpacing = mergedOptions.nodeSpacing, paramNodeSize = mergedOptions.nodeSize, propsWidth = mergedOptions.width, propsHeight = mergedOptions.height, position = mergedOptions.position;
67
- sortBy = mergedOptions.sortBy;
68
- nodes = graph.getAllNodes();
69
- edges = graph.getAllEdges();
70
- n = nodes === null || nodes === void 0 ? void 0 : nodes.length;
71
- // Need no layout if there is no node.
72
- if (!n || n === 1) {
73
- return [2 /*return*/, handleSingleNodeGraph(graph, assign, begin)];
74
- }
75
- layoutNodes = nodes.map(function (node) { return cloneFormatData(node); });
76
- if (
77
- // `id` should be reserved keyword
78
- sortBy !== "id" &&
79
- (!isString(sortBy) || layoutNodes[0].data[sortBy] === undefined)) {
80
- sortBy = "degree";
81
- }
82
- if (sortBy === "degree") {
83
- layoutNodes.sort(function (n1, n2) {
84
- return graph.getDegree(n2.id, "both") - graph.getDegree(n1.id, "both");
85
- });
86
- }
87
- else if (sortBy === "id") {
88
- // sort nodes by ID
89
- layoutNodes.sort(function (n1, n2) {
90
- if (isNumber(n2.id) && isNumber(n1.id)) {
91
- return n2.id - n1.id;
92
- }
93
- return ("" + n1.id).localeCompare("" + n2.id);
94
- });
95
- }
96
- else {
97
- // sort nodes by value
98
- layoutNodes.sort(function (n1, n2) { return n2.data[sortBy] - n1.data[sortBy]; });
99
- }
100
- width = !propsWidth && typeof window !== "undefined"
101
- ? window.innerWidth
102
- : propsWidth;
103
- height = !propsHeight && typeof window !== "undefined"
104
- ? window.innerHeight
105
- : propsHeight;
106
- cells = n;
107
- rcs = { rows: propsRows, cols: propsCols };
108
- // if rows or columns were set in self, use those values
109
- if (propsRows != null && propsCols != null) {
110
- rcs.rows = propsRows;
111
- rcs.cols = propsCols;
112
- }
113
- else if (propsRows != null && propsCols == null) {
114
- rcs.rows = propsRows;
115
- rcs.cols = Math.ceil(cells / rcs.rows);
116
- }
117
- else if (propsRows == null && propsCols != null) {
118
- rcs.cols = propsCols;
119
- rcs.rows = Math.ceil(cells / rcs.cols);
120
- }
121
- else {
122
- splits = Math.sqrt((cells * height) / width);
123
- rcs.rows = Math.round(splits);
124
- rcs.cols = Math.round((width / height) * splits);
125
- }
126
- rcs.rows = Math.max(rcs.rows, 1);
127
- rcs.cols = Math.max(rcs.cols, 1);
128
- if (rcs.cols * rcs.rows > cells) {
129
- sm = small(rcs);
130
- lg = large(rcs);
131
- // reducing the small side takes away the most cells, so try it first
132
- if ((sm - 1) * lg >= cells) {
133
- small(rcs, sm - 1);
134
- }
135
- else if ((lg - 1) * sm >= cells) {
136
- large(rcs, lg - 1);
137
- }
138
- }
139
- else {
140
- // if rounding was too low, add rows or columns
141
- while (rcs.cols * rcs.rows < cells) {
142
- sm = small(rcs);
143
- lg = large(rcs);
144
- // try to add to larger side first (adds less in multiplication)
145
- if ((lg + 1) * sm >= cells) {
146
- large(rcs, lg + 1);
147
- }
148
- else {
149
- small(rcs, sm + 1);
150
- }
151
- }
152
- }
153
- cellWidth = condense ? 0 : width / rcs.cols;
154
- cellHeight = condense ? 0 : height / rcs.rows;
155
- if (preventOverlap || paramNodeSpacing) {
156
- nodeSpacing_1 = formatNumberFn(10, paramNodeSpacing);
157
- nodeSize_1 = formatSizeFn(30, paramNodeSize, false);
158
- layoutNodes.forEach(function (node) {
159
- if (!node.data.x || !node.data.y) {
160
- // for bb
161
- node.data.x = 0;
162
- node.data.y = 0;
163
- }
164
- var oNode = graph.getNode(node.id);
165
- var res = nodeSize_1(oNode) || 30;
166
- var nodeW;
167
- var nodeH;
168
- if (isArray(res)) {
169
- nodeW = res[0];
170
- nodeH = res[1];
171
- }
172
- else {
173
- nodeW = res;
174
- nodeH = res;
175
- }
176
- var p = nodeSpacing_1 !== undefined ? nodeSpacing_1(node) : preventOverlapPadding;
177
- var w = nodeW + p;
178
- var h = nodeH + p;
179
- cellWidth = Math.max(cellWidth, w);
180
- cellHeight = Math.max(cellHeight, h);
181
- });
182
- }
183
- cellUsed = {};
184
- rc = { row: 0, col: 0 };
185
- id2manPos = {};
186
- for (i = 0; i < layoutNodes.length; i++) {
187
- node = layoutNodes[i];
188
- rcPos = void 0;
189
- if (position) {
190
- // TODO: not sure the api name
191
- rcPos = position(graph.getNode(node.id));
192
- }
193
- if (rcPos && (rcPos.row !== undefined || rcPos.col !== undefined)) {
194
- pos = {
195
- row: rcPos.row,
196
- col: rcPos.col,
197
- };
198
- if (pos.col === undefined) {
199
- // find unused col
200
- pos.col = 0;
201
- while (used(cellUsed, pos)) {
202
- pos.col++;
203
- }
204
- }
205
- else if (pos.row === undefined) {
206
- // find unused row
207
- pos.row = 0;
208
- while (used(cellUsed, pos)) {
209
- pos.row++;
210
- }
211
- }
212
- id2manPos[node.id] = pos;
213
- use(cellUsed, pos);
214
- }
215
- getPos(node, begin, cellWidth, cellHeight, id2manPos, rcs, rc, cellUsed);
216
- }
217
- result = {
218
- nodes: layoutNodes,
219
- edges: edges,
220
- };
221
- if (assign) {
222
- layoutNodes.forEach(function (node) {
223
- graph.mergeNodeData(node.id, {
224
- x: node.data.x,
225
- y: node.data.y,
226
- });
227
- });
228
- }
229
- return [2 /*return*/, result];
230
- });
231
- });
232
- };
233
- return GridLayout;
234
- }());
235
- export { GridLayout };
236
- var small = function (rcs, val) {
237
- var res;
238
- var rows = rcs.rows || 5;
239
- var cols = rcs.cols || 5;
240
- if (val == null) {
241
- res = Math.min(rows, cols);
242
- }
243
- else {
244
- var min = Math.min(rows, cols);
245
- if (min === rcs.rows) {
246
- rcs.rows = val;
247
- }
248
- else {
249
- rcs.cols = val;
250
- }
251
- }
252
- return res;
253
- };
254
- var large = function (rcs, val) {
255
- var result;
256
- var usedRows = rcs.rows || 5;
257
- var usedCols = rcs.cols || 5;
258
- if (val == null) {
259
- result = Math.max(usedRows, usedCols);
260
- }
261
- else {
262
- var max = Math.max(usedRows, usedCols);
263
- if (max === rcs.rows) {
264
- rcs.rows = val;
265
- }
266
- else {
267
- rcs.cols = val;
268
- }
269
- }
270
- return result;
271
- };
272
- var used = function (cellUsed, rc) {
273
- return cellUsed["c-" + rc.row + "-" + rc.col] || false;
274
- };
275
- var use = function (cellUsed, rc) {
276
- return (cellUsed["c-" + rc.row + "-" + rc.col] = true);
277
- };
278
- var moveToNextCell = function (rcs, rc) {
279
- var cols = rcs.cols || 5;
280
- rc.col++;
281
- if (rc.col >= cols) {
282
- rc.col = 0;
283
- rc.row++;
284
- }
285
- };
286
- var getPos = function (node, begin, cellWidth, cellHeight, id2manPos, rcs, rc, cellUsed) {
287
- var x;
288
- var y;
289
- // see if we have a manual position set
290
- var rcPos = id2manPos[node.id];
291
- if (rcPos) {
292
- x = rcPos.col * cellWidth + cellWidth / 2 + begin[0];
293
- y = rcPos.row * cellHeight + cellHeight / 2 + begin[1];
294
- }
295
- else {
296
- // otherwise set automatically
297
- while (used(cellUsed, rc)) {
298
- moveToNextCell(rcs, rc);
299
- }
300
- x = rc.col * cellWidth + cellWidth / 2 + begin[0];
301
- y = rc.row * cellHeight + cellHeight / 2 + begin[1];
302
- use(cellUsed, rc);
303
- moveToNextCell(rcs, rc);
304
- }
305
- node.data.x = x;
306
- node.data.y = y;
307
- };
308
- //# sourceMappingURL=grid.js.map
package/lib/grid.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../src/grid.ts"],"names":[],"mappings":"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"}
package/lib/index.js DELETED
@@ -1,17 +0,0 @@
1
- export * from './circular';
2
- export * from './supervisor';
3
- export * from './registry';
4
- export * from './grid';
5
- export * from './random';
6
- export * from './mds';
7
- export * from './concentric';
8
- export * from './radial';
9
- export * from './fruchterman';
10
- export * from './d3Force';
11
- export * from './force';
12
- export * from './forceAtlas2';
13
- export * from './dagre';
14
- export * from './comboCombined';
15
- export * from './types';
16
- export * from './util';
17
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
package/lib/mds.js DELETED
@@ -1,137 +0,0 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
- import { Matrix as MLMatrix, SingularValueDecomposition } from "ml-matrix";
3
- import { cloneFormatData, floydWarshall, getAdjMatrix, scaleMatrix, } from "./util";
4
- import { handleSingleNodeGraph } from "./util/common";
5
- var DEFAULTS_LAYOUT_OPTIONS = {
6
- center: [0, 0],
7
- linkDistance: 50,
8
- };
9
- /**
10
- * Layout arranging the nodes with multiple dimensional scaling algorithm
11
- *
12
- * @example
13
- * // Assign layout options when initialization.
14
- * const layout = new MDSLayout({ center: [100, 100] });
15
- * const positions = await layout.execute(graph); // { nodes: [], edges: [] }
16
- *
17
- * // Or use different options later.
18
- * const layout = new MDSLayout({ center: [100, 100] });
19
- * const positions = await layout.execute(graph, { rows: 20 }); // { nodes: [], edges: [] }
20
- *
21
- * // If you want to assign the positions directly to the nodes, use assign method.
22
- * await layout.assign(graph, { center: [100, 100] });
23
- */
24
- var MDSLayout = /** @class */ (function () {
25
- function MDSLayout(options) {
26
- if (options === void 0) { options = {}; }
27
- this.options = options;
28
- this.id = "mds";
29
- this.options = __assign(__assign({}, DEFAULTS_LAYOUT_OPTIONS), options);
30
- }
31
- /**
32
- * Return the positions of nodes and edges(if needed).
33
- */
34
- MDSLayout.prototype.execute = function (graph, options) {
35
- return __awaiter(this, void 0, void 0, function () {
36
- return __generator(this, function (_a) {
37
- return [2 /*return*/, this.genericMDSLayout(false, graph, options)];
38
- });
39
- });
40
- };
41
- /**
42
- * To directly assign the positions to the nodes.
43
- */
44
- MDSLayout.prototype.assign = function (graph, options) {
45
- return __awaiter(this, void 0, void 0, function () {
46
- return __generator(this, function (_a) {
47
- this.genericMDSLayout(true, graph, options);
48
- return [2 /*return*/];
49
- });
50
- });
51
- };
52
- MDSLayout.prototype.genericMDSLayout = function (assign, graph, options) {
53
- return __awaiter(this, void 0, void 0, function () {
54
- var mergedOptions, _a, center, _b, linkDistance, nodes, edges, adjMatrix, distances, scaledD, positions, layoutNodes, result;
55
- return __generator(this, function (_c) {
56
- mergedOptions = __assign(__assign({}, this.options), options);
57
- _a = mergedOptions.center, center = _a === void 0 ? [0, 0] : _a, _b = mergedOptions.linkDistance, linkDistance = _b === void 0 ? 50 : _b;
58
- nodes = graph.getAllNodes();
59
- edges = graph.getAllEdges();
60
- if (!(nodes === null || nodes === void 0 ? void 0 : nodes.length) || nodes.length === 1) {
61
- return [2 /*return*/, handleSingleNodeGraph(graph, assign, center)];
62
- }
63
- adjMatrix = getAdjMatrix({ nodes: nodes, edges: edges }, false);
64
- distances = floydWarshall(adjMatrix);
65
- handleInfinity(distances);
66
- scaledD = scaleMatrix(distances, linkDistance);
67
- positions = runMDS(scaledD);
68
- layoutNodes = [];
69
- positions.forEach(function (p, i) {
70
- var cnode = cloneFormatData(nodes[i]);
71
- cnode.data.x = p[0] + center[0];
72
- cnode.data.y = p[1] + center[1];
73
- layoutNodes.push(cnode);
74
- });
75
- if (assign) {
76
- layoutNodes.forEach(function (node) {
77
- return graph.mergeNodeData(node.id, {
78
- x: node.data.x,
79
- y: node.data.y,
80
- });
81
- });
82
- }
83
- result = {
84
- nodes: layoutNodes,
85
- edges: edges,
86
- };
87
- return [2 /*return*/, result];
88
- });
89
- });
90
- };
91
- return MDSLayout;
92
- }());
93
- export { MDSLayout };
94
- var handleInfinity = function (distances) {
95
- var maxDistance = -999999;
96
- distances.forEach(function (row) {
97
- row.forEach(function (value) {
98
- if (value === Infinity) {
99
- return;
100
- }
101
- if (maxDistance < value) {
102
- maxDistance = value;
103
- }
104
- });
105
- });
106
- distances.forEach(function (row, i) {
107
- row.forEach(function (value, j) {
108
- if (value === Infinity) {
109
- distances[i][j] = maxDistance;
110
- }
111
- });
112
- });
113
- };
114
- /**
115
- * mds 算法
116
- * @return {array} positions 计算后的节点位置数组
117
- */
118
- var runMDS = function (distances) {
119
- var dimension = 2;
120
- // square distances
121
- var M = MLMatrix.mul(MLMatrix.pow(distances, 2), -0.5);
122
- // double centre the rows/columns
123
- var rowMeans = M.mean("row");
124
- var colMeans = M.mean("column");
125
- var totalMean = M.mean();
126
- M.add(totalMean).subRowVector(rowMeans).subColumnVector(colMeans);
127
- // take the SVD of the double centred matrix, and return the
128
- // points from it
129
- var ret = new SingularValueDecomposition(M);
130
- var eigenValues = MLMatrix.sqrt(ret.diagonalMatrix).diagonal();
131
- return ret.leftSingularVectors.toJSON().map(function (row) {
132
- return MLMatrix.mul([row], [eigenValues])
133
- .toJSON()[0]
134
- .splice(0, dimension);
135
- });
136
- };
137
- //# sourceMappingURL=mds.js.map
package/lib/mds.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mds.js","sourceRoot":"","sources":["../src/mds.ts"],"names":[],"mappings":"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"}