-- File CIFExtScanDefs.mesa -- Written by Martin Newell, June 1980 -- Last updated: November 13, 1980 2:33 AM -- CIF Circuit Extractor utility procedures CIFExtScanDefs: DEFINITIONS = BEGIN InitExtScan: PUBLIC PROCEDURE; ExtractorMakeEdge: PUBLIC PROCEDURE [layer: CARDINAL, xstart,ystart,xend,yend: REAL, up: BOOLEAN] RETURNS[edge: Edge]; ExtractorScanConvert: PUBLIC PROCEDURE [upto: REAL]; AddToEdgeList: PUBLIC PROCEDURE[edge: Edge]; In: PUBLIC PROCEDURE [layer: CARDINAL] RETURNS[BOOLEAN]; XatY: PUBLIC PROCEDURE[edge: Edge, y: REAL] RETURNS[x: REAL]; EdgeLength: PUBLIC PROCEDURE[edge: Edge, from, to: REAL] RETURNS[x: REAL]; Edge: PUBLIC TYPE = LONG POINTER TO EdgeRecord; EdgeRecord: PUBLIC TYPE = RECORD [ next: Edge, xstart: REAL, ystart: REAL, yend: REAL, layer: CARDINAL, mate: Edge, up: BOOLEAN, vert: BOOLEAN, var: SELECT COMPUTED EdgeAngle FROM oblique => [ xend: REAL, slope: REAL], vertical => NULL, ENDCASE ]; EdgeAngle: PUBLIC TYPE = {oblique,vertical}; END. (635)\157b14B25b11B20b17B105b20B34b13B9v9V15b2B56b4B59b10B