UNPKG

d3-dag

Version:

Layout algorithms for visualizing directed acylic graphs.

62 lines (61 loc) 2.02 kB
import { Lane } from "."; /** * a lane operator that assigns lanes greedily, but quickly. * * Create with {@link laneGreedy}. */ export interface LaneGreedy extends Lane<unknown, unknown> { /** * set whether the greedy assignment should be top-down or bottom-up. * * These produce slightly different results with the way the nodes are assigned. * * (default: `true`) */ topDown(val: boolean): LaneGreedy; /** * get whether the current operator is set to assign top-down.. */ topDown(): boolean; /** * set whether to used compressed output * * If output is compressed a free lane will be chosen over minimizing edge * lengths. This can sometimes create cluttered layouts, but they will be * less wide. * * (default: `true`) */ compressed(val: boolean): LaneGreedy; /** get the current compressed setting */ compressed(): boolean; /** * set whether to assign bidirectional indices * * The first node will be assigned lane zero. If bidirectional, the lanes can * fan out in either direction from there, otherwise new lanes will always be * added to the right. * * (default: `false`) */ bidirectional(val: boolean): LaneGreedy; /** get the current bidirectional setting */ bidirectional(): boolean; /** @internal flag indicating that this is built in to d3dag and shouldn't error in specific instances */ readonly d3dagBuiltin: true; } /** * create a default {@link LaneGreedy} * * This {@link Lane} operator doesn't completely remove edge crossing, but is * much faster than {@link laneOpt}. This lane operator has three different * settings that allow for alteration: {@link LaneGreedy#bidirectional}, * {@link LaneGreedy#compressed}, and {@link LaneGreedy#topDown}. * * @example * * ```ts * const layout = grid().lane(laneGreedy().compressed(false)); * ``` */ export declare function laneGreedy(...args: never[]): LaneGreedy;