08-27-周三_17-09-29

This commit is contained in:
2025-08-27 17:10:05 +08:00
commit 86df397d8f
12735 changed files with 1145479 additions and 0 deletions

45
node_modules/dagre-layout/lib/rank/index.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
import { longestPath } from './util'
import feasibleTree from './feasible-tree'
import networkSimplex from './network-simplex'
/*
* Assigns a rank to each node in the input graph that respects the "minlen"
* constraint specified on edges between nodes.
*
* This basic structure is derived from Gansner, et al., "A Technique for
* Drawing Directed Graphs."
*
* Pre-conditions:
*
* 1. Graph must be a connected DAG
* 2. Graph nodes must be objects
* 3. Graph edges must have "weight" and "minlen" attributes
*
* Post-conditions:
*
* 1. Graph nodes will have a "rank" attribute based on the results of the
* algorithm. Ranks can start at any index (including negative), we'll
* fix them up later.
*/
function rank (g) {
switch (g.graph().ranker) {
case 'network-simplex': networkSimplexRanker(g); break
case 'tight-tree': tightTreeRanker(g); break
case 'longest-path': longestPathRanker(g); break
default: networkSimplexRanker(g)
}
}
// A fast and simple ranker, but results are far from optimal.
const longestPathRanker = longestPath
function tightTreeRanker (g) {
longestPath(g)
feasibleTree(g)
}
function networkSimplexRanker (g) {
networkSimplex(g)
}
export default rank