<<-- File: IPEditOps.mesa>> <<-- Last Edited by: CSChow, February 1, 1985 11:20:55 am PST>> <<-- Intro: This interface contains some of the commonly used routines in IPEditPrimitivesImpl.>> DIRECTORY IPCTG USING[Channel], IPCoTab, IPCB; IPEditOps: CEDAR DEFINITIONS = BEGIN OPEN CTG: IPCTG, CoTab: IPCoTab, CB: IPCB; NoIntersection: PROC[ch: CTG.Channel] RETURNS [BOOL]; CrossIn: PROC[refCh, ch: CTG.Channel] RETURNS [BOOL]; XCount: PROC[refCh, ch: CTG.Channel] RETURNS [INT]; CoInsertNode: PROC[co: CoTab.Component, iNd: CB.IntersectionNode, ontoCh: CTG.Channel]; CoGetBndChsAndSide: PROC[co: CoTab.Component, refCh: CTG.Channel] RETURNS [negBnd, posBnd: CTG.Channel, side: CB.Side]; CoGetBndChsAndSide2: PROC[co: CoTab.Component, ch: CTG.Channel] RETURNS [negBnd, posBnd: CTG.Channel, side: CB.Side]; MakeLCorner: PROC[ch1, ch2: CTG.Channel, cornerType: CoTab.CornerTypes]; NewNodesPair: PROC[ch1, ch2: CTG.Channel, iType1, iType2: CB.IntersectionType] RETURNS [nd1, nd2: CB.IntersectionNode]; OpenHole1: PROC[mainCh, sideCh, negBnd, posBnd: CTG.Channel, sideToOp: CB.Side]; OpenHole2: PROC[mainCh, sideCh, negBnd, posBnd: CTG.Channel, sideToOp: CB.Side]; CloseHole1: PROC[mainCh, sideCh, negBnd, posBnd: CTG.Channel, sideToCl: CB.Side]; CloseHole2: PROC[mainCh, sideCh, negBnd, posBnd: CTG.Channel, sideToCl: CB.Side]; CBSwapChsInComps: PROC [cb: CB.Ref, oldCh, newCh: CTG.Channel, skew: [-1..1] _ 0]; CoSwapChs: PROC [co: CoTab.Component, oldCh, newCh: CTG.Channel]; ChSetCBComps: PROC[ch: CTG.Channel, negComp, posComp: CoTab.Component]; CoClearCornerChs: PROC[co: CoTab.Component, ch1, ch2: CTG.Channel]; CoSetCornerChs: PROC[co: CoTab.Component, ch1, ch2: CTG.Channel]; CoInsert: PROC [co: CoTab.Component, south, east, north, west: CTG.Channel]; CoInsert2: PROC [co: CoTab.Component, south, east, north, west: CTG.Channel]; AreTEndChs: PROC[ch, end1, end2: CTG.Channel] RETURNS [BOOL]; IsTEndCh: PROC[ch, end: CTG.Channel] RETURNS [BOOL]; IsLCorner: PROC[ch1, ch2: CTG.Channel] RETURNS [BOOL]; BndsOkChk: PROC[mainCh, negBnd, posBnd: CTG.Channel] RETURNS [BOOL]; CoXingCount: PROC[co: CoTab.Component, prinRefCh: CTG.Channel] RETURNS [INT]; END.