sigma
Version:
A JavaScript library dedicated to graph drawing.
64 lines (63 loc) • 2.24 kB
TypeScript
/**
* 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>;