DIRECTORY CD, Rope; CDUtil: 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_0, dY: CD.Number_0, properties: CD.PropList_NIL --for the instance ]; CreateSimpleCell: PROC [ design: CD.Design, contents: LIST OF InstRec, cellName: Rope.ROPE _ NIL, direction: Direction _ right, alignHigh: BOOL _ FALSE] RETURNS [CD.Object]; PartialCopy: PROC [ob: CD.Object, design: CD.Design, instances: LIST OF Rope.ROPE_NIL, remove: BOOL_TRUE, prop: ATOM _ $InstanceName, name: Rope.ROPE_NIL] RETURNS [CD.Object]; END. æCDUtil.mesa by Ch. Jacobi, June 7, 1985 5:16:21 pm PDT last edited Ch. Jacobi, September 23, 1985 4:11:53 pm PDT Handy procedures for creating designs from programs. --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 --Copy the object; creates a cell --remove TRUE: -- all the instances with property prop are and a value in instances are removed --remove FALSE: -- only the instances with property prop are and a value in instances are copied --interest rect: -- if explicit, it will be copied, -- if defaulted, a new one will be defaulted --the origin will be inherited Ê"˜codešœ ™ Kšœ*™*Kšœ9™9—K˜šÏk ˜ Kšœ˜ —K˜KšÐblœœ œ˜Kšœ˜K˜K™4K˜Kšœ œ!˜0K˜šœ œœ˜Kšœœ˜Kšœ œœÏc˜&Kšœœ œ ˜$Kšœœ ˜Kšœœ ˜Kšœ œ œŸ˜/K˜K˜—šÏnœœ˜Kšœœ ˜Kšœ œœ ˜Kšœœœ˜Kšœ˜Kšœ œœ˜Kšœœ ˜K™EKšœK™KKšœ.™.Kšœ&™&KšœM™MKšœ.™.Kšœ™Kšœ"™"Kšœ ™ K™CK™AK™K™E™FK™——š  œœœœœœœœ œœœœœœœ ˜¯Kšœ"™"Kšœ™KšœR™RKšœ™KšœP™PKšœ™Kšœ#™#Kšœ/™/Kšœ!™!—K˜Kšœ˜K˜—…—¦ ®