@graphty/layout
Version:
graph layout algorithms based on networkx
30 lines (29 loc) • 1.02 kB
TypeScript
/**
* 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;