remove crossings from a layered graph
the layers of nodes that this should rearrange.
sets the initialization passes before decrossings
For every initialization operator, this will run the two layer heuristic, ultimately choosing the ordering that minimized overall crossings. For this reason, only quick decrossing operators should be used, not expensive ones. The empty list is treated as a singleton list with a noop operator.
(default: [decrossDfs(), decrossDfs().topDown(false)]
)
get the current initialization passes
sets the Twolayer accessor for minimizing a layer at a time
The Twolayer operator takes pairs of layers, and reorders one. There are three built-in variants:
(default: twolayerGreedy)
get the current Twolayer for ordering
sets the number of passes to make
More passes may take longer, but might result in a better output.
(default: 24
)
get the current number of passes
a decrossing operator that reorders by looking at pairs of layers
This method can be very fast and is a general heuristic for efficient minimization. Customize with a two layer operator with order, different inits, or the number of passes.