Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Preconditions
  • The graph has a proper layering. (except for self-loops)
  • An implementation may allow in-layer connections.
  • Usually, all nodes are required to have a least fixed port sides.
Postconditions
  • The order of nodes in each layer is fixed.
  • All nodes have a fixed port order.
Remarks
  • If fixed port sides are required, the PortPositionProcessor may be of use.
  • Support for in-layer connections may be required to be able to handle certain problems. (odd port sides, for instance)
Implementations
  • LayerSweepCrossingMinmizer. Does several sweeps across the layers, minimizing the crossings between each pair of layers using a barycenter heuristic. Supports node successor constraints and layout groups. Node successor constraints require one node to appear before another node. Layout groups specify sets of nodes whose nodes must not be interleaved. See this page for more information.
  • InteractiveCrossingMinimizer. Detects the order of nodes according to the current layout, hence it reacts to the user's placement.

Phase 4: Node Placement

So far, the coordinates of the nodes have not been touched. That's about to change in phase 4, which determines the y coordinate. While phase 3 has an impact on the number of edge crossings, phase 4 has an influence on the number of edge bends. Usually, some kind of heuristic is employed to yield a good y coordinate.

...