<<-- File: GCCIG.mesa>> <> <> <<>> <> DIRECTORY CD, GC, RTStructure, 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]; <> ConnectionStrength: TYPE = {goodInternal, power, highImpedance}; InsertNet: PROC[cig: Graph, net: RTStructure.Net, connectionStrength: ConnectionStrength _ goodInternal] RETURNS [nodeSetList: NodeSetList]; <> RemoveNodes: PROC[cig: Graph, nodeSetList: NodeSetList]; <> <<>> ShortestPath: PUBLIC PROC[cig: Graph, nodeSetList: NodeSetList, net: RTStructure.Net]; <> <<>> Check: 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.