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)
function Position_Of (Current : in Node) return Position