plebeiangraphlibrary 1.0.6 → 2.0.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/Build/pgl.d.ts +104 -43
- package/Build/pgl.d.ts.map +1 -1
- package/Build/pgl.js +661 -169
- package/Build/pgl.js.map +1 -1
- package/Build/pgl_module.js +10378 -7252
- package/Build/pgl_module.js.map +1 -1
- package/CODE_OF_CONDUCT.md +39 -39
- package/CONTRIBUTING.md +52 -52
- package/Examples/1_ZKC_simple.html +81 -75
- package/Examples/2_ZKC_edge_bundling.html +87 -81
- package/Examples/3_LargePointCloud.html +88 -81
- package/Examples/4_ToggleActivation.html +111 -105
- package/Examples/5_Hierarchy_simple.html +54 -0
- package/Examples/6_Flowmap_style.html +86 -0
- package/Examples/7_Graph_algorithms.html +123 -0
- package/Examples/8_ThreeWrapper_variants.html +51 -0
- package/Examples/MasterStyle.css +161 -53
- package/Examples/examples.html +61 -0
- package/LICENSE +21 -21
- package/README.md +144 -139
- package/package.json +72 -67
- package/Examples/index.html +0 -34
package/Build/pgl.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ declare class Point {
|
|
|
15
15
|
constructor(x: number, y: number, z: number);
|
|
16
16
|
/**
|
|
17
17
|
* Displaces a point - note this method moves the existing point
|
|
18
|
-
* @param Point
|
|
18
|
+
* @param Point - Displacement vector (used as a point)
|
|
19
19
|
*/
|
|
20
20
|
translate(Point: Point): void;
|
|
21
21
|
}
|
|
@@ -34,14 +34,13 @@ interface _Node {
|
|
|
34
34
|
neighbours: number[];
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* The data also contains the position of the
|
|
37
|
+
* Node class: each node has an ID (index) and arbitrary data.
|
|
38
|
+
* The data typically includes "pos" (Point) for visualization.
|
|
40
39
|
*/
|
|
41
40
|
declare class _Node {
|
|
42
41
|
/**
|
|
43
42
|
*
|
|
44
|
-
* @param data Data associated with the node
|
|
43
|
+
* @param data - Data associated with the node; include "pos" (Point) for graph visuals
|
|
45
44
|
*/
|
|
46
45
|
constructor(data: any);
|
|
47
46
|
}
|
|
@@ -51,7 +50,7 @@ interface Edge {
|
|
|
51
50
|
data: any;
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
|
-
*
|
|
53
|
+
* Edge class: connects two nodes by start/end IDs; can hold optional data (e.g. "ldata" for line geometry).
|
|
55
54
|
*/
|
|
56
55
|
declare class Edge {
|
|
57
56
|
/**
|
|
@@ -60,7 +59,7 @@ declare class Edge {
|
|
|
60
59
|
*
|
|
61
60
|
* @param start Start index of the edge based on the array of nodes
|
|
62
61
|
* @param end End index of the edge based on the array of nodes
|
|
63
|
-
* @param data
|
|
62
|
+
* @param data - Optional data; "ldata" is reserved for line geometry used when drawing the edge
|
|
64
63
|
*/
|
|
65
64
|
constructor(start: number, end: number, data: any);
|
|
66
65
|
}
|
|
@@ -69,8 +68,8 @@ export interface Graph {
|
|
|
69
68
|
edges: Map<number, Edge>;
|
|
70
69
|
}
|
|
71
70
|
/**
|
|
72
|
-
* The main graph object
|
|
73
|
-
*
|
|
71
|
+
* The main graph object: contains nodes and edges that get modified with different
|
|
72
|
+
* operations (layout, clustering, etc.).
|
|
74
73
|
*/
|
|
75
74
|
export class Graph {
|
|
76
75
|
/**
|
|
@@ -78,7 +77,7 @@ export class Graph {
|
|
|
78
77
|
* Construct a graph object (no initializing)
|
|
79
78
|
*
|
|
80
79
|
* @param nodes - Map of all the nodes associated with the graph
|
|
81
|
-
* @param edges - Map of all the edges
|
|
80
|
+
* @param edges - Map of all the edges associated with the graph
|
|
82
81
|
*/
|
|
83
82
|
constructor(nodes: Map<number, _Node>, edges: Map<number, Edge>);
|
|
84
83
|
/**
|
|
@@ -86,13 +85,13 @@ export class Graph {
|
|
|
86
85
|
*/
|
|
87
86
|
printData(): void;
|
|
88
87
|
/**
|
|
89
|
-
*
|
|
88
|
+
* Initializes the graph and constructs the node adjacency list.
|
|
90
89
|
*/
|
|
91
90
|
initialize(): Promise<void>;
|
|
92
91
|
/**
|
|
93
92
|
*
|
|
94
93
|
* This is the official create method to make a graph based on a set of nodes and edges
|
|
95
|
-
* It also auto
|
|
94
|
+
* It also auto-initializes the graph and sets all the adjacency lists in memory.
|
|
96
95
|
*
|
|
97
96
|
* @param nodes - map of nodes
|
|
98
97
|
* @param edges - map of edges
|
|
@@ -104,9 +103,9 @@ export class Graph {
|
|
|
104
103
|
*/
|
|
105
104
|
constructAdjacencyList(): Promise<void>;
|
|
106
105
|
/**
|
|
107
|
-
* Add a
|
|
108
|
-
* @param nodeID -
|
|
109
|
-
* @param data -
|
|
106
|
+
* Add a node to the graph.
|
|
107
|
+
* @param nodeID - The node ID
|
|
108
|
+
* @param data - Data associated with the node
|
|
110
109
|
*/
|
|
111
110
|
add_node(nodeID: number, data: _Node): void;
|
|
112
111
|
/**
|
|
@@ -118,7 +117,7 @@ export class Graph {
|
|
|
118
117
|
add_edge(start: number, end: number, data: any): void;
|
|
119
118
|
/**
|
|
120
119
|
*
|
|
121
|
-
* @returns
|
|
120
|
+
* @returns The adjacency lists associated with the graph
|
|
122
121
|
*/
|
|
123
122
|
get_adjacency(): Map<number, number[]>;
|
|
124
123
|
/**
|
|
@@ -146,15 +145,15 @@ export class Graph {
|
|
|
146
145
|
}): void;
|
|
147
146
|
/**
|
|
148
147
|
* Gets the position map and the edge map respectively
|
|
149
|
-
* @returns
|
|
148
|
+
* @returns The position map and the edge map as pmap and emap
|
|
150
149
|
*/
|
|
151
150
|
get_map(): {
|
|
152
151
|
pmap: Map<number, Point>;
|
|
153
152
|
emap: Map<number, Line>;
|
|
154
153
|
};
|
|
155
154
|
/**
|
|
156
|
-
*
|
|
157
|
-
* @returns
|
|
155
|
+
* Get the position of the nodes in the graph.
|
|
156
|
+
* @returns The position map (node ID to Point)
|
|
158
157
|
*/
|
|
159
158
|
get_position_map(): Map<number, Point>;
|
|
160
159
|
}
|
|
@@ -434,7 +433,7 @@ export const SampleData: {
|
|
|
434
433
|
* @param alpha - the alpha value of the node defaults to 1 (opaque)
|
|
435
434
|
* @returns a three JS group that contains all the vertices as a point cloud or a three js points object that can be added to the scene
|
|
436
435
|
*/
|
|
437
|
-
declare function DrawTHREEGraphVertices(Graph: Graph, bounds?: number, size?: number | number[], color?: number, alpha?: number): THREE.Group
|
|
436
|
+
declare function DrawTHREEGraphVertices(Graph: Graph, bounds?: number, size?: number | number[], color?: number, alpha?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
438
437
|
/**
|
|
439
438
|
*
|
|
440
439
|
* Draws out all the edges (Thick edges of a graph)
|
|
@@ -442,10 +441,10 @@ declare function DrawTHREEGraphVertices(Graph: Graph, bounds?: number, size?: nu
|
|
|
442
441
|
* @param Graph - The graph whose edges have to be drawn
|
|
443
442
|
* @param bounds - the global scale for all the edges to be drawn defaults to 1
|
|
444
443
|
* @param color - color of the edges defaults to white
|
|
445
|
-
* @param thickness - thickness of the edges (defaults to 0.
|
|
444
|
+
* @param thickness - thickness of the edges (defaults to 0.4; screen-space pixels ≈ thickness × 100 for values < 1)
|
|
446
445
|
* @returns a Three Js group of edges that can be added to the scene
|
|
447
446
|
*/
|
|
448
|
-
declare function DrawTHREEGraphEdgesThick(Graph: Graph, bounds?: number, color?: number, thickness?: number): THREE.Group
|
|
447
|
+
declare function DrawTHREEGraphEdgesThick(Graph: Graph, bounds?: number, color?: number, thickness?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
449
448
|
/**
|
|
450
449
|
*
|
|
451
450
|
* Draw thick edges from an edge map
|
|
@@ -453,10 +452,10 @@ declare function DrawTHREEGraphEdgesThick(Graph: Graph, bounds?: number, color?:
|
|
|
453
452
|
* @param EdgeMap - The edge map associated with the graph
|
|
454
453
|
* @param bounds - The global scale of the graph - defaults to 1
|
|
455
454
|
* @param color - The color of the edges - defaults to white
|
|
456
|
-
* @param thickness - thickness of the edges
|
|
455
|
+
* @param thickness - thickness of the edges (defaults to 0.4; pixels ≈ thickness × 100 for values < 1)
|
|
457
456
|
* @returns
|
|
458
457
|
*/
|
|
459
|
-
declare function DrawThickEdgesFromEdgeMap(EdgeMap: Map<number, Line>, bounds: number, color?: number, thickness?: number): THREE.Group
|
|
458
|
+
declare function DrawThickEdgesFromEdgeMap(EdgeMap: Map<number, Line>, bounds: number, color?: number, thickness?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
460
459
|
/**
|
|
461
460
|
*
|
|
462
461
|
* Draw thin lines for all the edges given a graph
|
|
@@ -466,7 +465,18 @@ declare function DrawThickEdgesFromEdgeMap(EdgeMap: Map<number, Line>, bounds: n
|
|
|
466
465
|
* @param color - color of the lines - defaults to white
|
|
467
466
|
* @returns
|
|
468
467
|
*/
|
|
469
|
-
declare function DrawTHREEGraphEdgesThin(Graph: Graph, bounds?: number, color?: number): THREE.Group
|
|
468
|
+
declare function DrawTHREEGraphEdgesThin(Graph: Graph, bounds?: number, color?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
469
|
+
/**
|
|
470
|
+
* Draw a single thick line through an ordered list of node IDs (e.g. a path).
|
|
471
|
+
* Uses graph positions; line width in pixels (pass thickness >= 1 for pixel width).
|
|
472
|
+
*
|
|
473
|
+
* @param Graph - Graph with position map
|
|
474
|
+
* @param bounds - Scale factor for positions
|
|
475
|
+
* @param pathNodeIds - Ordered node IDs (start to end)
|
|
476
|
+
* @param color - Hex color for the path line
|
|
477
|
+
* @param thickness - Line width in pixels (e.g. 5 for a thick path)
|
|
478
|
+
*/
|
|
479
|
+
declare function DrawThickPathFromNodeIds(Graph: Graph, bounds: number, pathNodeIds: number[], color?: number, thickness?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
470
480
|
/**
|
|
471
481
|
*
|
|
472
482
|
* Draw Line map as lines given the edge map assocaited with the graph
|
|
@@ -476,7 +486,7 @@ declare function DrawTHREEGraphEdgesThin(Graph: Graph, bounds?: number, color?:
|
|
|
476
486
|
* @param color - Color of the edges defaults to 1
|
|
477
487
|
* @returns
|
|
478
488
|
*/
|
|
479
|
-
declare function DrawThinEdgesFromEdgeMap(LineMap: Map<number, Line>, bounds?: number, color?: number): THREE.Group
|
|
489
|
+
declare function DrawThinEdgesFromEdgeMap(LineMap: Map<number, Line>, bounds?: number, color?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
480
490
|
/**
|
|
481
491
|
*
|
|
482
492
|
* Adde boxes where all the boxes are
|
|
@@ -487,7 +497,7 @@ declare function DrawThinEdgesFromEdgeMap(LineMap: Map<number, Line>, bounds?: n
|
|
|
487
497
|
* @param size - size of the nodes defaults to 10
|
|
488
498
|
* @returns a group of vertices that contains all of the boxes associated with each one of the vertices
|
|
489
499
|
*/
|
|
490
|
-
declare function AddBoxBasedImaging(nodeMap: Map<number, Point>, bounds?: number, color?: number, size?: number | number[]): THREE.Group
|
|
500
|
+
declare function AddBoxBasedImaging(nodeMap: Map<number, Point>, bounds?: number, color?: number, size?: number | number[]): THREE.Group<THREE.Object3DEventMap>;
|
|
491
501
|
/**
|
|
492
502
|
*
|
|
493
503
|
* Draw box based verices given a graph
|
|
@@ -498,7 +508,7 @@ declare function AddBoxBasedImaging(nodeMap: Map<number, Point>, bounds?: number
|
|
|
498
508
|
* @param size - Default size of the nodes defaults to 10
|
|
499
509
|
* @returns
|
|
500
510
|
*/
|
|
501
|
-
declare function DrawTHREEBoxBasedVertices(Graph: Graph, bounds?: number, color?: number, size?: number | number[]): THREE.Group
|
|
511
|
+
declare function DrawTHREEBoxBasedVertices(Graph: Graph, bounds?: number, color?: number, size?: number | number[]): THREE.Group<THREE.Object3DEventMap>;
|
|
502
512
|
/**
|
|
503
513
|
*
|
|
504
514
|
* Draw cylinders where all the vertices are based on a node map
|
|
@@ -509,7 +519,7 @@ declare function DrawTHREEBoxBasedVertices(Graph: Graph, bounds?: number, color?
|
|
|
509
519
|
* @param size - the default size of the cylinder, defaults to 10
|
|
510
520
|
* @returns
|
|
511
521
|
*/
|
|
512
|
-
declare function AddCylinderBasedImaging(nodeMap: Map<number, Point>, divisonLength?: number, color?: number, size?: number | number[]): THREE.Group
|
|
522
|
+
declare function AddCylinderBasedImaging(nodeMap: Map<number, Point>, divisonLength?: number, color?: number, size?: number | number[]): THREE.Group<THREE.Object3DEventMap>;
|
|
513
523
|
/**
|
|
514
524
|
*
|
|
515
525
|
* Split up a graph and return an boject containing a bunch of node groups and edge groups based on some parameterS
|
|
@@ -519,8 +529,8 @@ declare function AddCylinderBasedImaging(nodeMap: Map<number, Point>, divisonLen
|
|
|
519
529
|
* @returns - an object that hasa set of node vertices and a set of edge lines based on the splitting factor
|
|
520
530
|
*/
|
|
521
531
|
declare function AddInModularityBasedPointGroups(Graph: Graph, propertyName: string): Promise<{
|
|
522
|
-
nodeGroups: Map<number, THREE.Group
|
|
523
|
-
EdgeGroups: Map<number, THREE.Group
|
|
532
|
+
nodeGroups: Map<number, THREE.Group<THREE.Object3DEventMap>>;
|
|
533
|
+
EdgeGroups: Map<number, THREE.Group<THREE.Object3DEventMap>>;
|
|
524
534
|
}>;
|
|
525
535
|
/**
|
|
526
536
|
*
|
|
@@ -531,27 +541,25 @@ declare function AddInModularityBasedPointGroups(Graph: Graph, propertyName: str
|
|
|
531
541
|
* @param color - color of these edges - defaults to 0.1
|
|
532
542
|
* @returns - a group of simple lines based on all the edges supplied to it
|
|
533
543
|
*/
|
|
534
|
-
declare function DrawSimplifiedEdges(Graph: Graph, amount: number, color?: number): THREE.Group
|
|
544
|
+
declare function DrawSimplifiedEdges(Graph: Graph, amount: number, color?: number): THREE.Group<THREE.Object3DEventMap>;
|
|
535
545
|
/**
|
|
546
|
+
* Set vertex colors by node ID. Uses the geometry's "label" attribute (node ID per vertex) to map node IDs to vertex indices; if "label" is missing, indexArray is treated as vertex indices.
|
|
536
547
|
*
|
|
537
|
-
*
|
|
538
|
-
*
|
|
539
|
-
* @param
|
|
540
|
-
* @param indexArray - The array of the indices of all the nodes whose values that have to be changed
|
|
541
|
-
* @param color - The color that they have to be changed too
|
|
548
|
+
* @param vertices - THREE.Points with customColor (and optionally label) attribute, or a Group whose first child is that Points object
|
|
549
|
+
* @param indexArray - Node IDs to color, or vertex indices if geometry has no label attribute
|
|
550
|
+
* @param color - Hex color to apply
|
|
542
551
|
*/
|
|
543
|
-
declare function ChangeTheVertexColours(vertices: THREE.Points, indexArray: number[], color: number): void;
|
|
552
|
+
declare function ChangeTheVertexColours(vertices: THREE.Points | THREE.Group, indexArray: number[], color: number): void;
|
|
544
553
|
/**
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
548
|
-
* @param vertices - ThreeJS Points object, be sure to pass in the points object and not the group that the points belong too
|
|
554
|
+
* Reset all vertex colors to white.
|
|
555
|
+
* @param vertices - THREE.Points with customColor attribute, or a Group whose first child is that Points object
|
|
549
556
|
*/
|
|
550
|
-
declare function ResetVertexColors(vertices: THREE.Points): void;
|
|
557
|
+
declare function ResetVertexColors(vertices: THREE.Points | THREE.Group): void;
|
|
551
558
|
export const ThreeWrapper: {
|
|
552
559
|
DrawTHREEGraphVertices: typeof DrawTHREEGraphVertices;
|
|
553
560
|
DrawTHREEGraphEdgesThick: typeof DrawTHREEGraphEdgesThick;
|
|
554
561
|
DrawTHREEGraphEdgesThin: typeof DrawTHREEGraphEdgesThin;
|
|
562
|
+
DrawThickPathFromNodeIds: typeof DrawThickPathFromNodeIds;
|
|
555
563
|
AddBoxBasedImaging: typeof AddBoxBasedImaging;
|
|
556
564
|
AddInModularityBasedPointGroups: typeof AddInModularityBasedPointGroups;
|
|
557
565
|
DrawThinEdgesFromEdgeMap: typeof DrawThinEdgesFromEdgeMap;
|
|
@@ -638,5 +646,58 @@ declare function GenerateErdosReyni_n_p(n: number, p: number): Promise<Graph>;
|
|
|
638
646
|
export const Models: {
|
|
639
647
|
GenerateErdosReyni_n_p: typeof GenerateErdosReyni_n_p;
|
|
640
648
|
};
|
|
649
|
+
/**
|
|
650
|
+
* Options for distance-based clustering.
|
|
651
|
+
*/
|
|
652
|
+
interface ClusterByDistanceOptions {
|
|
653
|
+
/** Maximum distance between two nodes for them to be in the same cluster. */
|
|
654
|
+
distanceThreshold: number;
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Result of a clustering step: maps each node ID to its cluster ID.
|
|
658
|
+
*/
|
|
659
|
+
interface ClusterResult {
|
|
660
|
+
/** Map from original node ID to cluster ID (integer). */
|
|
661
|
+
nodeToCluster: Map<number, number>;
|
|
662
|
+
/** Map from cluster ID to centroid position (e.g. for super-node placement). */
|
|
663
|
+
clusterCentroids: Map<number, Point>;
|
|
664
|
+
/** List of unique cluster IDs. */
|
|
665
|
+
clusterIds: number[];
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Strategy interface for hierarchical node combining.
|
|
669
|
+
* Implementations (e.g. KD-tree distance-based, or future class-based) produce a clustering.
|
|
670
|
+
*/
|
|
671
|
+
interface ClusterStrategy {
|
|
672
|
+
/**
|
|
673
|
+
* Compute clustering of graph nodes.
|
|
674
|
+
* @param graph - The graph to cluster
|
|
675
|
+
* @param options - Strategy-specific options
|
|
676
|
+
* @returns Assignment of each node to a cluster and cluster centroids
|
|
677
|
+
*/
|
|
678
|
+
cluster(graph: Graph, options: Record<string, unknown>): ClusterResult;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Cluster the graph by distance (KD-tree based) and return a simplified graph.
|
|
682
|
+
* Nodes within `distanceThreshold` are merged; super-nodes are placed at cluster centroids.
|
|
683
|
+
*
|
|
684
|
+
* @param graph - The graph to cluster
|
|
685
|
+
* @param options - { distanceThreshold: number }
|
|
686
|
+
* @returns A new graph with one node per cluster and aggregated edges between clusters
|
|
687
|
+
*/
|
|
688
|
+
declare function clusterByDistance(graph: Graph, options: ClusterByDistanceOptions): Promise<Graph>;
|
|
689
|
+
/**
|
|
690
|
+
* Cluster the graph using a custom strategy and return a simplified graph.
|
|
691
|
+
*
|
|
692
|
+
* @param graph - The graph to cluster
|
|
693
|
+
* @param strategy - A ClusterStrategy implementation
|
|
694
|
+
* @param options - Strategy-specific options
|
|
695
|
+
* @returns A new graph with one node per cluster and aggregated edges
|
|
696
|
+
*/
|
|
697
|
+
declare function clusterByStrategy(graph: Graph, strategy: ClusterStrategy, options: Record<string, unknown>): Promise<Graph>;
|
|
698
|
+
export const Hierarchy: {
|
|
699
|
+
clusterByDistance: typeof clusterByDistance;
|
|
700
|
+
clusterByStrategy: typeof clusterByStrategy;
|
|
701
|
+
};
|
|
641
702
|
|
|
642
703
|
//# sourceMappingURL=pgl.d.ts.map
|
package/Build/pgl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;AAAA;IACE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;IACE;;;;;OAKG;gBACS,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM;IASxC;;;OAGG;IACH,SAAS,CAAC,OAAM,KAAK;CAKtB;AC7BD;IACE,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;IACE;;;OAGG;gBACS,MAAM,EAAE,KAAK,EAAE;CAO5B;ACdD;IACE,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED
|
|
1
|
+
{"mappings":"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","sources":["Src/Src/HelperClasses/Point.ts","Src/Src/HelperClasses/Line.ts","Src/Src/Core/_Node.ts","Src/Src/Core/Edge.ts","Src/Src/Core/Graph.ts","Src/Src/Core/index.ts","Src/Src/GraphAlgorithms/GraphMethods.ts","Src/Src/GraphAlgorithms/index.ts","Src/Src/SampleData/ZKC.ts","Src/Src/SampleData/ZKC_simulated.ts","Src/Src/HelperClasses/GraphConstructors.ts","Src/Src/HelperClasses/Utilities.ts","Src/Src/HelperClasses/GeometryHelpers.ts","Src/Src/Drawing/Drawing.ts","Src/Src/SampleData/DataLoader.ts","Src/Src/SampleData/index.ts","Src/Src/HelperClasses/ColorHelper.ts","Src/Src/Drawing/MeshLineGeometry.ts","Src/Src/Drawing/MeshLineMaterial.ts","Src/Src/Drawing/ThickLine.ts","Src/Src/Shaders/vertexShader.glsl.ts","Src/Src/Shaders/fragmentShader.glsl.ts","Src/Src/Drawing/ThreeJSDrawer.ts","Src/Src/Drawing/GraphDrawer.ts","Src/Src/Models/ErdosRenyiModel.ts","Src/Src/Models/index.ts","Src/Src/Hierarchy/types.ts","Src/Src/Hierarchy/KDTree.ts","Src/Src/Hierarchy/KDDistanceStrategy.ts","Src/Src/Hierarchy/buildSimplifiedGraph.ts","Src/Src/Hierarchy/index.ts","Src/Src/index.ts","Src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export { Graph } from \"./Core\";\nexport { GraphMethods } from \"./GraphAlgorithms\";\nexport { SampleData } from \"./SampleData\";\nexport { default as Constructors } from \"./HelperClasses/GraphConstructors\";\nexport { default as Drawing } from \"./Drawing/Drawing\";\nexport { default as Geometry } from \"./HelperClasses/GeometryHelpers\";\nexport { default as Utilities } from \"./HelperClasses/Utilities\";\nexport { default as ThreeWrapper } from \"./Drawing/ThreeJSDrawer\";\nexport { default as GraphDrawer } from \"./Drawing/GraphDrawer\";\nexport { Models } from \"./Models\";\nexport { default as Hierarchy } from \"./Hierarchy\";\n"],"names":[],"version":3,"file":"pgl.d.ts.map"}
|