<> <> <> <> <> <<>> <> DIRECTORY CD, GC, CoreRouteFlat, Graphs0, Graphs0Path; GCCIG: CEDAR DEFINITIONS = BEGIN Graph: TYPE = REF GraphRec; GraphRec: TYPE = RECORD [ context: GC.Context _ NIL, graph: Graphs0.Graph _ NIL]; Node: TYPE = Graphs0.Node; NodeList: TYPE = Graphs0.NodeList; NodeSetList: TYPE = Graphs0Path.NodeSetList; Create: PROC[context: GC.Context] RETURNS[cig: Graph]; Destroy: PROC[cig: Graph]; <> UpdateCIGWeights: PROC [cig: GCCIG.Graph] ; <> <<>> ConnectionStrength: TYPE = {goodInternal, power, highImpedance, none}; InsertNet: PROC[ cig: Graph, net: CoreRouteFlat.Net, connectionStrength: ConnectionStrength _ goodInternal] RETURNS [nodeSetList: NodeSetList]; <> RemoveNodes: PROC[cig: Graph, nodeSetList: NodeSetList]; <> <<>> ShortestPath: PUBLIC PROC[cig: Graph, nodeSetList: NodeSetList, net: CoreRouteFlat.Net]; <> <<>> Check: PROC[cig: Graph]; <> Audit: PROC[cig: Graph]; <> <<>> Length: PROC[nodeSetList: NodeSetList] RETURNS [n: INT]; <> PaintShortestPath: PROC[cig: Graph, nodeSetList: NodeSetList] RETURNS [object: CD.Object]; PaintGraph: PROC[cig: Graph] RETURNS [object: CD.Object]; END.