CDSimpleCells.mesa
by Ch. Jacobi, June 7, 1985 5:16:21 pm PDT
last edited Ch. Jacobi, July 10, 1985 9:50:33 am PDT
CDSimpleCells: CEDAR DEFINITIONS =
BEGIN
Direction: TYPE = {right, up, left, down, none};
InstRec:
TYPE =
RECORD [
ob: CD.Object,
name: Rope.ROPE ← NIL, --instance Name
orient: CD.Orientation←CD.original,
dX: CD.Number𡤀,
dY: CD.Number𡤀,
properties: CD.Properties←NIL --for instance
];
CreateSimpleCell:
PROC [
design: CD.Design,
contents: LIST OF InstRec,
cellName: Rope.ROPE ← NIL,
direction: Direction ← right,
alignHigh: BOOL ← FALSE] RETURNS [CD.Object];
--creates a cell by basically abutting the instances (interest rects)
--design: cell is included into design; all instances must be in design too
--contents: list of descriptions of instances
-- the first is placed at an origin,
-- all others are placed abutting their predecessor in direction "direction"
-- (if direction is none: dX, dY is absolute)
--cellName: name given to cell
--direction: direction of abutting
--alignHigh:
-- FALSE: put the edges with smaller coordinate values into a line
-- TRUE: put the edges with larger coordinate values into a line
-- dX, dY: the instance is displaced by this amount before including;
-- not defaulting this causes to create not really abutting instances
END.