d3-dag
Version:
Layout algorithms for visualizing directed acylic graphs.
45 lines (44 loc) • 1.44 kB
TypeScript
/**
* A {@link DecrossDfs} heuristic for quickly producing reasonable crossings.
* This is intended for use as an initialization step.
*
* @packageDocumentation
*/
import type { Decross } from ".";
/**
* a depth first search operator
*
* This is a fast heuristic that runs a depth first search, incrementally
* adding nodes to their appropriate layer. It creates a reasonable ordering to
* potentially be further optimized by other operators.
*/
export interface DecrossDfs extends Decross<unknown, unknown> {
/**
* sets whether the dfs should be top down or bottom up
*
* This has a small tweak in effect and can be useful for multiple initial
* configurations.
*
* (default: `true`)
*/
topDown(val: boolean): DecrossDfs;
/**
* get whether the current operator is topDown
*/
topDown(): 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 DecrossDfs}
*
* This is a fast heuristic decrossings operator that runs a depth first
* search, incrementally adding nodes to their appropriate layer. It creates a
* reasonable ordering to potentially be further optimized by other operators.
*
* @example
* ```ts
* const layout = sugiyama().decross(decrossDfs());
* ```
*/
export declare function decrossDfs(...args: never[]): DecrossDfs;