UNPKG

@graphty/layout

Version:

graph layout algorithms based on networkx

30 lines (29 loc) 1.02 kB
/** * Embedding functions for planar graphs */ import { Node, Edge, Embedding, PositionMap } from '../../types'; /** * Create a triangulation-based embedding for a planar graph * * @param nodes - List of nodes * @param edges - List of edges * @returns Embedding object */ export declare function createTriangulationEmbedding(nodes: Node[], edges: Edge[], seed?: number | null): Embedding; /** * Find a simple cycle in the graph (for outer face) * * @param nodes - List of nodes * @param edges - List of edges * @param adjMap - Adjacency map * @returns Cycle as array of nodes, or null if none found */ export declare function findCycle(nodes: Node[], edges: Edge[], adjMap: Record<Node, Set<Node>>): Node[] | null; /** * Convert a combinatorial embedding to node positions * * @param embedding - The embedding object * @param nodes - List of nodes * @returns Dictionary mapping nodes to positions */ export declare function combinatorialEmbeddingToPos(embedding: Embedding, nodes: Node[]): PositionMap;