@antv/layout 0.3.21 → 0.3.22-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/layout.min.js +1 -1
- package/dist/layout.min.js.map +1 -1
- package/es/layout/force2/index.d.ts +5 -4
- package/es/layout/force2/index.js +59 -34
- package/es/layout/force2/index.js.map +1 -1
- package/lib/layout/force2/index.d.ts +5 -4
- package/lib/layout/force2/index.js +52 -27
- package/lib/layout/force2/index.js.map +1 -1
- package/package.json +1 -1
- package/src/layout/force2/index.ts +184 -78
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/force2/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/force2/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -13,17 +13,25 @@ import {
|
|
|
13
13
|
GForceLayoutOptions,
|
|
14
14
|
Degree,
|
|
15
15
|
NodeMap,
|
|
16
|
-
CentripetalOptions
|
|
17
|
-
} from
|
|
18
|
-
import { Base } from
|
|
19
|
-
import {
|
|
20
|
-
|
|
16
|
+
CentripetalOptions,
|
|
17
|
+
} from '../types';
|
|
18
|
+
import { Base } from '../base';
|
|
19
|
+
import {
|
|
20
|
+
isNumber,
|
|
21
|
+
isFunction,
|
|
22
|
+
isArray,
|
|
23
|
+
getDegreeMap,
|
|
24
|
+
isObject,
|
|
25
|
+
getEdgeTerminal,
|
|
26
|
+
getAvgNodePosition,
|
|
27
|
+
getCoreNodeAndRelativeLeafNodes,
|
|
28
|
+
} from '../../util';
|
|
29
|
+
import { forceNBody } from './ForceNBody';
|
|
21
30
|
|
|
22
31
|
type INode = OutNode & {
|
|
23
32
|
size: number | PointTuple;
|
|
24
33
|
};
|
|
25
34
|
|
|
26
|
-
|
|
27
35
|
const proccessToFunc = (
|
|
28
36
|
value: number | Function | undefined,
|
|
29
37
|
defaultV?: number
|
|
@@ -60,7 +68,10 @@ export class Force2Layout extends Base {
|
|
|
60
68
|
public edgeStrength: number | ((d?: any) => number) | undefined = 200;
|
|
61
69
|
|
|
62
70
|
/** 斥力系数 */
|
|
63
|
-
public nodeStrength:
|
|
71
|
+
public nodeStrength:
|
|
72
|
+
| number
|
|
73
|
+
| ((d?: any, edges?: any[]) => number)
|
|
74
|
+
| undefined = 1000;
|
|
64
75
|
|
|
65
76
|
/** 库伦系数 */
|
|
66
77
|
public coulombDisScale: number = 0.005;
|
|
@@ -87,13 +98,19 @@ export class Force2Layout extends Base {
|
|
|
87
98
|
public getCenter: ((d?: any, degree?: number) => number[]) | undefined;
|
|
88
99
|
|
|
89
100
|
/** 计算画布上下两侧对节点吸引力大小 */
|
|
90
|
-
public defSideCoe?: (node: Node) => number;
|
|
101
|
+
public defSideCoe?: (node: Node, edges: Edge[]) => number;
|
|
91
102
|
|
|
92
103
|
/** 理想边长 */
|
|
93
|
-
public linkDistance:
|
|
104
|
+
public linkDistance:
|
|
105
|
+
| number
|
|
106
|
+
| ((edge?: any, source?: any, target?: any) => number)
|
|
107
|
+
| undefined = 200;
|
|
94
108
|
|
|
95
109
|
/** 理想边长,兼容 graphin-force */
|
|
96
|
-
public defSpringLen:
|
|
110
|
+
public defSpringLen:
|
|
111
|
+
| number
|
|
112
|
+
| ((edge?: any, source?: any, target?: any) => number)
|
|
113
|
+
| undefined;
|
|
97
114
|
|
|
98
115
|
/** 重力大小 */
|
|
99
116
|
public gravity: number = 0;
|
|
@@ -126,7 +143,7 @@ export class Force2Layout extends Base {
|
|
|
126
143
|
public distanceThresholdMode: 'mean' | 'max' | 'min' = 'mean';
|
|
127
144
|
|
|
128
145
|
/** 每次迭代结束的回调函数 */
|
|
129
|
-
public tick: (() => void) | null = () => {
|
|
146
|
+
public tick: (() => void) | null = () => {};
|
|
130
147
|
|
|
131
148
|
/** 是否允许每次迭代结束调用回调函数 */
|
|
132
149
|
public enableTick: boolean;
|
|
@@ -151,7 +168,12 @@ export class Force2Layout extends Base {
|
|
|
151
168
|
public animate: Boolean;
|
|
152
169
|
|
|
153
170
|
/** 监控信息,不配置则不计算 */
|
|
154
|
-
public monitor: (params: {
|
|
171
|
+
public monitor: (params: {
|
|
172
|
+
energy: number;
|
|
173
|
+
nodes: INode[];
|
|
174
|
+
edge: Edge[];
|
|
175
|
+
iterations: number;
|
|
176
|
+
}) => void;
|
|
155
177
|
|
|
156
178
|
/** 存储节点度数 */
|
|
157
179
|
private degreesMap: { [id: string]: Degree };
|
|
@@ -184,24 +206,38 @@ export class Force2Layout extends Base {
|
|
|
184
206
|
}
|
|
185
207
|
|
|
186
208
|
public getCentripetalOptions() {
|
|
187
|
-
const {
|
|
209
|
+
const {
|
|
210
|
+
leafCluster,
|
|
211
|
+
clustering,
|
|
212
|
+
nodeClusterBy,
|
|
213
|
+
nodes,
|
|
214
|
+
nodeMap,
|
|
215
|
+
clusterNodeStrength: propsClusterNodeStrength,
|
|
216
|
+
} = this;
|
|
188
217
|
|
|
189
218
|
const getClusterNodeStrength = (node: Node) =>
|
|
190
|
-
typeof propsClusterNodeStrength === 'function'
|
|
219
|
+
typeof propsClusterNodeStrength === 'function'
|
|
220
|
+
? propsClusterNodeStrength(node)
|
|
221
|
+
: propsClusterNodeStrength;
|
|
191
222
|
|
|
192
223
|
let centripetalOptions = {};
|
|
193
224
|
let sameTypeLeafMap: any;
|
|
194
225
|
// 如果传入了需要叶子节点聚类
|
|
195
226
|
if (leafCluster) {
|
|
196
227
|
sameTypeLeafMap = this.getSameTypeLeafMap() || {};
|
|
197
|
-
const relativeNodesType =
|
|
228
|
+
const relativeNodesType =
|
|
229
|
+
Array.from(new Set(nodes?.map((node) => node[nodeClusterBy]))) || [];
|
|
198
230
|
centripetalOptions = {
|
|
199
231
|
single: 100,
|
|
200
232
|
leaf: (node, nodes, edges) => {
|
|
201
233
|
// 找出与它关联的边的起点或终点出发的所有一度节点中同类型的叶子节点
|
|
202
|
-
const { relativeLeafNodes, sameTypeLeafNodes } =
|
|
234
|
+
const { relativeLeafNodes, sameTypeLeafNodes } =
|
|
235
|
+
sameTypeLeafMap[node.id] || {};
|
|
203
236
|
// 如果都是同一类型或者每种类型只有1个,则施加默认向心力
|
|
204
|
-
if (
|
|
237
|
+
if (
|
|
238
|
+
sameTypeLeafNodes?.length === relativeLeafNodes?.length ||
|
|
239
|
+
relativeNodesType?.length === 1
|
|
240
|
+
) {
|
|
205
241
|
return 1;
|
|
206
242
|
}
|
|
207
243
|
return getClusterNodeStrength(node);
|
|
@@ -242,14 +278,18 @@ export class Force2Layout extends Base {
|
|
|
242
278
|
// 如果传入了全局节点聚类
|
|
243
279
|
if (clustering) {
|
|
244
280
|
if (!sameTypeLeafMap) sameTypeLeafMap = this.getSameTypeLeafMap();
|
|
245
|
-
const clusters: string[] = Array.from(
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
281
|
+
const clusters: string[] = Array.from(
|
|
282
|
+
new Set(
|
|
283
|
+
nodes.map((node, i) => {
|
|
284
|
+
return node[nodeClusterBy];
|
|
285
|
+
})
|
|
286
|
+
)
|
|
287
|
+
).filter((item) => item !== undefined);
|
|
250
288
|
const centerNodeInfo: { [key: string]: { x: number; y: number } } = {};
|
|
251
289
|
clusters.forEach((cluster) => {
|
|
252
|
-
const sameTypeNodes = nodes
|
|
290
|
+
const sameTypeNodes = nodes
|
|
291
|
+
.filter((item) => item[nodeClusterBy] === cluster)
|
|
292
|
+
.map((node) => nodeMap[node.id]);
|
|
253
293
|
// 找出同类型节点平均位置节点的距离最近的节点作为中心节点
|
|
254
294
|
centerNodeInfo[cluster] = getAvgNodePosition(sameTypeNodes);
|
|
255
295
|
});
|
|
@@ -274,9 +314,12 @@ export class Force2Layout extends Base {
|
|
|
274
314
|
};
|
|
275
315
|
|
|
276
316
|
const { leaf, single, others } = this.centripetalOptions;
|
|
277
|
-
if (leaf && typeof leaf !== 'function')
|
|
278
|
-
|
|
279
|
-
if (
|
|
317
|
+
if (leaf && typeof leaf !== 'function')
|
|
318
|
+
this.centripetalOptions.leaf = () => leaf;
|
|
319
|
+
if (single && typeof single !== 'function')
|
|
320
|
+
this.centripetalOptions.single = () => single;
|
|
321
|
+
if (others && typeof others !== 'function')
|
|
322
|
+
this.centripetalOptions.others = () => others;
|
|
280
323
|
}
|
|
281
324
|
|
|
282
325
|
public updateCfg(cfg: any) {
|
|
@@ -296,6 +339,7 @@ export class Force2Layout extends Base {
|
|
|
296
339
|
* 执行布局
|
|
297
340
|
*/
|
|
298
341
|
public execute() {
|
|
342
|
+
console.log('here111');
|
|
299
343
|
const self = this;
|
|
300
344
|
self.stop();
|
|
301
345
|
const { nodes, edges, defSpringLen } = self;
|
|
@@ -307,10 +351,10 @@ export class Force2Layout extends Base {
|
|
|
307
351
|
return;
|
|
308
352
|
}
|
|
309
353
|
|
|
310
|
-
if (!self.width && typeof window !==
|
|
354
|
+
if (!self.width && typeof window !== 'undefined') {
|
|
311
355
|
self.width = window.innerWidth;
|
|
312
356
|
}
|
|
313
|
-
if (!self.height && typeof window !==
|
|
357
|
+
if (!self.height && typeof window !== 'undefined') {
|
|
314
358
|
self.height = window.innerHeight;
|
|
315
359
|
}
|
|
316
360
|
if (!self.center) {
|
|
@@ -332,11 +376,10 @@ export class Force2Layout extends Base {
|
|
|
332
376
|
let massWeight = 1;
|
|
333
377
|
if (isNumber(d.mass)) massWeight = d.mass;
|
|
334
378
|
const degree = self.degreesMap[d.id].all;
|
|
335
|
-
return
|
|
379
|
+
return !degree || degree < 5 ? massWeight : degree * 5 * massWeight;
|
|
336
380
|
};
|
|
337
381
|
}
|
|
338
382
|
|
|
339
|
-
|
|
340
383
|
// node size function
|
|
341
384
|
const nodeSize = self.nodeSize;
|
|
342
385
|
let nodeSizeFunc;
|
|
@@ -355,7 +398,8 @@ export class Force2Layout extends Base {
|
|
|
355
398
|
if (d.size) {
|
|
356
399
|
if (isArray(d.size)) {
|
|
357
400
|
return Math.max(d.size[0], d.size[1]) + nodeSpacingFunc(d);
|
|
358
|
-
}
|
|
401
|
+
}
|
|
402
|
+
if (isObject(d.size)) {
|
|
359
403
|
return Math.max(d.size.width, d.size.height) + nodeSpacingFunc(d);
|
|
360
404
|
}
|
|
361
405
|
return (d.size as number) + nodeSpacingFunc(d);
|
|
@@ -395,17 +439,16 @@ export class Force2Layout extends Base {
|
|
|
395
439
|
sDegree: degree.out,
|
|
396
440
|
force: {
|
|
397
441
|
mass: self.getMass(node),
|
|
398
|
-
nodeStrength: self.nodeStrength(node)
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
}
|
|
442
|
+
nodeStrength: self.nodeStrength(node, edges),
|
|
443
|
+
},
|
|
444
|
+
},
|
|
445
|
+
},
|
|
402
446
|
};
|
|
403
447
|
nodeIdxMap[node.id] = i;
|
|
404
448
|
});
|
|
405
449
|
self.nodeMap = nodeMap;
|
|
406
450
|
self.nodeIdxMap = nodeIdxMap;
|
|
407
451
|
|
|
408
|
-
|
|
409
452
|
self.edgeInfos = [];
|
|
410
453
|
edges?.forEach((edge) => {
|
|
411
454
|
const sourceNode = nodeMap[edge.source];
|
|
@@ -415,29 +458,39 @@ export class Force2Layout extends Base {
|
|
|
415
458
|
} else {
|
|
416
459
|
self.edgeInfos.push({
|
|
417
460
|
edgeStrength: self.edgeStrength(edge),
|
|
418
|
-
linkDistance: defSpringLen
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
461
|
+
linkDistance: defSpringLen
|
|
462
|
+
? defSpringLen(
|
|
463
|
+
{
|
|
464
|
+
...edge,
|
|
465
|
+
source: sourceNode,
|
|
466
|
+
target: targetNode,
|
|
467
|
+
},
|
|
468
|
+
sourceNode,
|
|
469
|
+
targetNode
|
|
470
|
+
)
|
|
471
|
+
: self.linkDistance(edge, sourceNode, targetNode) ||
|
|
472
|
+
1 + (nodeSize(sourceNode) + nodeSize(sourceNode) || 0) / 2,
|
|
427
473
|
});
|
|
428
474
|
}
|
|
429
475
|
});
|
|
430
476
|
|
|
431
477
|
this.getCentripetalOptions();
|
|
432
478
|
|
|
433
|
-
self.onLayoutEnd = self.onLayoutEnd || (() => {
|
|
479
|
+
self.onLayoutEnd = self.onLayoutEnd || (() => {});
|
|
434
480
|
|
|
435
481
|
self.run();
|
|
436
482
|
}
|
|
437
483
|
|
|
438
484
|
public run() {
|
|
439
485
|
const self = this;
|
|
440
|
-
const {
|
|
486
|
+
const {
|
|
487
|
+
maxIteration,
|
|
488
|
+
nodes,
|
|
489
|
+
workerEnabled,
|
|
490
|
+
minMovement,
|
|
491
|
+
animate,
|
|
492
|
+
nodeMap,
|
|
493
|
+
} = self;
|
|
441
494
|
|
|
442
495
|
if (!nodes) return;
|
|
443
496
|
|
|
@@ -451,13 +504,17 @@ export class Force2Layout extends Base {
|
|
|
451
504
|
const silence = !animate;
|
|
452
505
|
if (workerEnabled || silence) {
|
|
453
506
|
let usedIter = 0;
|
|
454
|
-
for (
|
|
507
|
+
for (
|
|
508
|
+
let i = 0;
|
|
509
|
+
(self.judgingDistance > minMovement || i < 1) && i < maxIter;
|
|
510
|
+
i++
|
|
511
|
+
) {
|
|
455
512
|
usedIter = i;
|
|
456
513
|
self.runOneStep(i, velArray);
|
|
457
514
|
}
|
|
458
515
|
self.onLayoutEnd(Object.values(nodeMap));
|
|
459
516
|
} else {
|
|
460
|
-
if (typeof window ===
|
|
517
|
+
if (typeof window === 'undefined') return;
|
|
461
518
|
let iter = 0;
|
|
462
519
|
// interval for render the result after each iteration
|
|
463
520
|
this.timeInterval = window.setInterval(() => {
|
|
@@ -480,6 +537,7 @@ export class Force2Layout extends Base {
|
|
|
480
537
|
self.calRepulsive(accArray);
|
|
481
538
|
if (edges) self.calAttractive(accArray);
|
|
482
539
|
self.calGravity(accArray);
|
|
540
|
+
self.attractToSide(accArray);
|
|
483
541
|
const stepInterval = self.interval; // Math.max(0.02, self.interval - iter * 0.002);
|
|
484
542
|
self.updateVelocity(accArray, velArray, stepInterval);
|
|
485
543
|
self.updatePosition(velArray, stepInterval);
|
|
@@ -513,7 +571,13 @@ export class Force2Layout extends Base {
|
|
|
513
571
|
const self = this;
|
|
514
572
|
const { nodes, nodeMap, factor, coulombDisScale } = self;
|
|
515
573
|
const nodeSize = self.nodeSize as Function;
|
|
516
|
-
forceNBody(
|
|
574
|
+
forceNBody(
|
|
575
|
+
nodes,
|
|
576
|
+
nodeMap,
|
|
577
|
+
factor,
|
|
578
|
+
coulombDisScale * coulombDisScale,
|
|
579
|
+
accArray
|
|
580
|
+
);
|
|
517
581
|
}
|
|
518
582
|
|
|
519
583
|
// hooks law
|
|
@@ -559,7 +623,17 @@ export class Force2Layout extends Base {
|
|
|
559
623
|
// attract to center
|
|
560
624
|
public calGravity(accArray: number[]) {
|
|
561
625
|
const self = this;
|
|
562
|
-
const {
|
|
626
|
+
const {
|
|
627
|
+
nodes,
|
|
628
|
+
edges = [],
|
|
629
|
+
nodeMap,
|
|
630
|
+
width,
|
|
631
|
+
height,
|
|
632
|
+
center,
|
|
633
|
+
gravity: defaultGravity,
|
|
634
|
+
degreesMap,
|
|
635
|
+
centripetalOptions,
|
|
636
|
+
} = self;
|
|
563
637
|
if (!nodes) return;
|
|
564
638
|
const nodeLength = nodes.length;
|
|
565
639
|
for (let i = 0; i < nodeLength; i++) {
|
|
@@ -583,13 +657,26 @@ export class Force2Layout extends Base {
|
|
|
583
657
|
}
|
|
584
658
|
|
|
585
659
|
if (gravity) {
|
|
586
|
-
accArray[idx] -= gravity * vecX / mass;
|
|
587
|
-
accArray[idx + 1] -= gravity * vecY / mass;
|
|
660
|
+
accArray[idx] -= (gravity * vecX) / mass;
|
|
661
|
+
accArray[idx + 1] -= (gravity * vecY) / mass;
|
|
588
662
|
}
|
|
589
663
|
|
|
590
664
|
if (centripetalOptions) {
|
|
591
|
-
const {
|
|
592
|
-
|
|
665
|
+
const {
|
|
666
|
+
leaf,
|
|
667
|
+
single,
|
|
668
|
+
others,
|
|
669
|
+
center: centriCenter,
|
|
670
|
+
} = centripetalOptions;
|
|
671
|
+
const {
|
|
672
|
+
x: centriX,
|
|
673
|
+
y: centriY,
|
|
674
|
+
centerStrength,
|
|
675
|
+
} = centriCenter?.(node, nodes, edges, width, height) || {
|
|
676
|
+
x: 0,
|
|
677
|
+
y: 0,
|
|
678
|
+
centerStrength: 0,
|
|
679
|
+
};
|
|
593
680
|
if (!isNumber(centriX) || !isNumber(centriY)) continue;
|
|
594
681
|
const vx = (node.x - centriX) / mass;
|
|
595
682
|
const vy = (node.y - centriY) / mass;
|
|
@@ -626,17 +713,26 @@ export class Force2Layout extends Base {
|
|
|
626
713
|
}
|
|
627
714
|
|
|
628
715
|
// TODO: 待 graphin 修改正确
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
716
|
+
public attractToSide(accArray: number[]) {
|
|
717
|
+
const { defSideCoe, height, nodes, edges } = this;
|
|
718
|
+
if (!defSideCoe || typeof defSideCoe !== 'function' || !nodes?.length)
|
|
719
|
+
return;
|
|
720
|
+
const relatedEdges: { [nodeId: string]: Edge[] } = {};
|
|
721
|
+
edges.forEach((edge) => {
|
|
722
|
+
const { source, target } = edge;
|
|
723
|
+
relatedEdges[source.id] = relatedEdges[source.id] || [];
|
|
724
|
+
relatedEdges[source.id].push(edge);
|
|
725
|
+
relatedEdges[target.id] = relatedEdges[target.id] || [];
|
|
726
|
+
relatedEdges[target.id].push(edge);
|
|
727
|
+
});
|
|
728
|
+
nodes.forEach((node, i) => {
|
|
729
|
+
const sideCoe = defSideCoe!(node, relatedEdges[node.id] || []);
|
|
730
|
+
if (sideCoe === 0) return;
|
|
731
|
+
const targetY = sideCoe > 0 ? 0 : height;
|
|
732
|
+
const strength = Math.abs(sideCoe);
|
|
733
|
+
accArray[2 * i + 1] -= strength * (targetY - node.y);
|
|
734
|
+
});
|
|
735
|
+
}
|
|
640
736
|
|
|
641
737
|
public updateVelocity(
|
|
642
738
|
accArray: number[],
|
|
@@ -647,8 +743,11 @@ export class Force2Layout extends Base {
|
|
|
647
743
|
const { nodes, damping, maxSpeed } = self;
|
|
648
744
|
if (!nodes?.length) return;
|
|
649
745
|
nodes.forEach((_, i) => {
|
|
650
|
-
let vx =
|
|
651
|
-
|
|
746
|
+
let vx =
|
|
747
|
+
(velArray[2 * i] + accArray[2 * i] * stepInterval) * damping || 0.01;
|
|
748
|
+
let vy =
|
|
749
|
+
(velArray[2 * i + 1] + accArray[2 * i + 1] * stepInterval) * damping ||
|
|
750
|
+
0.01;
|
|
652
751
|
const vLength = Math.sqrt(vx * vx + vy * vy);
|
|
653
752
|
if (vLength > maxSpeed) {
|
|
654
753
|
const param2 = maxSpeed / vLength;
|
|
@@ -660,10 +759,7 @@ export class Force2Layout extends Base {
|
|
|
660
759
|
});
|
|
661
760
|
}
|
|
662
761
|
|
|
663
|
-
public updatePosition(
|
|
664
|
-
velArray: number[],
|
|
665
|
-
stepInterval: number,
|
|
666
|
-
) {
|
|
762
|
+
public updatePosition(velArray: number[], stepInterval: number) {
|
|
667
763
|
const self = this;
|
|
668
764
|
const { nodes, distanceThresholdMode, nodeMap } = self;
|
|
669
765
|
if (!nodes?.length) {
|
|
@@ -693,21 +789,24 @@ export class Force2Layout extends Base {
|
|
|
693
789
|
const distanceMagnitude = Math.sqrt(distX * distX + distY * distY);
|
|
694
790
|
switch (distanceThresholdMode) {
|
|
695
791
|
case 'max':
|
|
696
|
-
if (self.judgingDistance < distanceMagnitude)
|
|
792
|
+
if (self.judgingDistance < distanceMagnitude)
|
|
793
|
+
self.judgingDistance = distanceMagnitude;
|
|
697
794
|
break;
|
|
698
795
|
case 'min':
|
|
699
|
-
if (self.judgingDistance > distanceMagnitude)
|
|
796
|
+
if (self.judgingDistance > distanceMagnitude)
|
|
797
|
+
self.judgingDistance = distanceMagnitude;
|
|
700
798
|
break;
|
|
701
799
|
default:
|
|
702
800
|
sum = sum + distanceMagnitude;
|
|
703
801
|
break;
|
|
704
802
|
}
|
|
705
803
|
});
|
|
706
|
-
if (!distanceThresholdMode || distanceThresholdMode === 'mean')
|
|
804
|
+
if (!distanceThresholdMode || distanceThresholdMode === 'mean')
|
|
805
|
+
self.judgingDistance = sum / nodes.length;
|
|
707
806
|
}
|
|
708
807
|
|
|
709
808
|
public stop() {
|
|
710
|
-
if (this.timeInterval && typeof window !==
|
|
809
|
+
if (this.timeInterval && typeof window !== 'undefined') {
|
|
711
810
|
window.clearInterval(this.timeInterval);
|
|
712
811
|
}
|
|
713
812
|
}
|
|
@@ -722,7 +821,7 @@ export class Force2Layout extends Base {
|
|
|
722
821
|
}
|
|
723
822
|
|
|
724
823
|
public getType() {
|
|
725
|
-
return
|
|
824
|
+
return 'force2';
|
|
726
825
|
}
|
|
727
826
|
|
|
728
827
|
private getSameTypeLeafMap() {
|
|
@@ -733,7 +832,14 @@ export class Force2Layout extends Base {
|
|
|
733
832
|
nodes.forEach((node, i) => {
|
|
734
833
|
const degree = degreesMap[node.id].all;
|
|
735
834
|
if (degree === 1) {
|
|
736
|
-
sameTypeLeafMap[node.id] = getCoreNodeAndRelativeLeafNodes(
|
|
835
|
+
sameTypeLeafMap[node.id] = getCoreNodeAndRelativeLeafNodes(
|
|
836
|
+
'leaf',
|
|
837
|
+
node,
|
|
838
|
+
edges,
|
|
839
|
+
nodeClusterBy,
|
|
840
|
+
degreesMap,
|
|
841
|
+
nodeMap
|
|
842
|
+
);
|
|
737
843
|
}
|
|
738
844
|
});
|
|
739
845
|
return sameTypeLeafMap;
|