1 |
|
2 |
|
3 |
|
4 |
|
5 | import { OutNode, Edge, PointTuple, IndexMap } from './types';
|
6 | import { Base } from './base';
|
7 | declare type NodeMap = {
|
8 | [key: string]: INode;
|
9 | };
|
10 | declare type INode = OutNode & {
|
11 | cluster: string;
|
12 | };
|
13 |
|
14 |
|
15 |
|
16 | export declare class FruchtermanLayout extends Base {
|
17 |
|
18 | center: PointTuple;
|
19 |
|
20 | maxIteration: number;
|
21 |
|
22 | gravity: number;
|
23 |
|
24 | speed: number;
|
25 |
|
26 | clustering: boolean;
|
27 |
|
28 | clusterGravity: number;
|
29 | nodes: INode[];
|
30 | edges: Edge[];
|
31 | width: number;
|
32 | height: number;
|
33 | nodeMap: NodeMap;
|
34 | nodeIdxMap: IndexMap;
|
35 | constructor(options?: FruchtermanLayout.FruchtermanLayoutOptions);
|
36 | getDefaultCfg(): {
|
37 | maxIteration: number;
|
38 | gravity: number;
|
39 | speed: number;
|
40 | clustering: boolean;
|
41 | clusterGravity: number;
|
42 | };
|
43 | |
44 |
|
45 |
|
46 | execute(): {
|
47 | nodes: INode[];
|
48 | edges: Edge[];
|
49 | } | undefined;
|
50 | run(): {
|
51 | nodes: INode[];
|
52 | edges: Edge[];
|
53 | };
|
54 | private applyCalculate;
|
55 | private calRepulsive;
|
56 | private calAttractive;
|
57 | getType(): string;
|
58 | }
|
59 | export declare namespace FruchtermanLayout {
|
60 | interface FruchtermanLayoutOptions {
|
61 | type: 'fruchterman';
|
62 | center?: PointTuple;
|
63 | maxIteration?: number;
|
64 | width?: number;
|
65 | height?: number;
|
66 | gravity?: number;
|
67 | speed?: number;
|
68 | clustering?: boolean;
|
69 | clusterGravity?: number;
|
70 | workerEnabled?: boolean;
|
71 | gpuEnabled?: boolean;
|
72 | }
|
73 | }
|
74 | export {};
|