This package computes positional information for nodes and arcs of a directed graph. It encapsulates a layout algorithm which is designed to minimize the number of crossing arcs and to emphasize the primary direction of arc flow through the graph.
1 | Call Define for each node and arc to define the graph. |
2 | Call Layout to assign positions to all nodes and arcs. |
3 | Call Position_Of for each node and arc to determine the assigned coordinate positions. |
This package has been optimized for time, in preference to space. Layout times are on the order of N*log(N) where N is the number of nodes, but memory space is used inefficiently.
This package computes positional information for nodes and arcs of a directed graph. | |
This procedure defines one node of the current graph. | |
This procedure assigns coordinate positions to all defined nodes and arcs. | |
This function returns the coordinate position of the specified node. |
procedure Define (New_Node : in Node) |
procedure Layout |
function Position_Of (Current : in Node) return Position |