UNPKG

sigma

Version:

A JavaScript library dedicated to graph drawing.

64 lines (63 loc) 2.24 kB
/** * Sigma.js Labels Heuristics * =========================== * * Miscelleneous heuristics related to label display. * @module */ import Graph from "graphology"; import { EdgeKey, NodeKey } from "graphology-types"; import { Dimensions, EdgeAttributes, NodeAttributes } from "../types"; import Camera from "./camera"; /** * Label grid heuristic selecting labels to display. * * @param {object} params - Parameters: * @param {object} cache - Cache storing nodes' data. * @param {Camera} camera - The renderer's camera. * @param {Set} displayedLabels - Currently displayed labels. * @param {Array} visibleNodes - Nodes visible for this render. * @param {Graph} graph - The rendered graph. * @return {Array} - The selected labels. */ export declare function labelsToDisplayFromGrid(params: { cache: { [key: string]: NodeAttributes; }; camera: Camera; cell: { width: number; height: number; } | null; dimensions: Dimensions; displayedLabels: Set<NodeKey>; fontSize: number; graph: Graph; renderedSizeThreshold: number; visibleNodes: NodeKey[]; }): NodeKey[]; /** * Label heuristic selecting edge labels to display, based on displayed node * labels * * @param {object} params - Parameters: * @param {object} nodeDataCache - Cache storing nodes data. * @param {object} edgeDataCache - Cache storing edges data. * @param {Set} displayedNodeLabels - Currently displayed node labels. * @param {Set} highlightedNodes - Highlighted nodes. * @param {Graph} graph - The rendered graph. * @param {string} hoveredNode - Hovered node (optional) * @return {Array} - The selected labels. */ export declare function edgeLabelsToDisplayFromNodes(params: { nodeDataCache: { [key: string]: NodeAttributes; }; edgeDataCache: { [key: string]: EdgeAttributes; }; displayedNodeLabels: Set<NodeKey>; highlightedNodes: Set<NodeKey>; graph: Graph; hoveredNode: NodeKey | null; }): Array<EdgeKey>;