com.sun.electric.database.constraint
Class Layout

java.lang.Object
  extended by com.sun.electric.database.constraint.Constraints
      extended by com.sun.electric.database.constraint.Layout

public class Layout
extends Constraints

Class to implement the layout-constraint system. Handles the fixed-angle and rigid constraints. Also propagates these constraints up the hierarchy.


Field Summary
static int DRC_LAST_GOOD_BIT_DEFAULT
          Default valud when no bit is found
static Variable.Key DRC_LAST_GOOD_BIT_SPACING
          key of Variable for last valid DRC bit on a Cell.
static Variable.Key DRC_LAST_GOOD_DATE_AREA
          No need of bit for area since it is only 1 mode
static Variable.Key DRC_LAST_GOOD_DATE_SPACING
          key of Variable for last valid DRC date on a Cell.
 
Method Summary
static void changesQuiet(boolean quiet)
          Method to set the subsequent changes to be "quiet".
 void endBatch(java.lang.String userName)
          Method to do hierarchical update on any cells that changed
 void modifyArcInst(ArcInst ai, ImmutableArcInst oD)
          Method to handle a change to an ArcInst.
 void modifyCell(Cell cell, ImmutableCell oD)
          Method to handle a change to a Cell.
 void modifyExport(Export pp, ImmutableExport oldD)
          Method to handle a change to an Export.
 void modifyLibrary(Library lib, ImmutableLibrary oldD)
          Method to handle a change to a Library.
 void modifyNodeInst(NodeInst ni, ImmutableNodeInst oD)
          Method to handle a change to a NodeInst.
 void newObject(ElectricObject obj)
          Method to handle the creation of a new ElectricObject.
static void removeTempRigid(ArcInst ai)
          Method to remove temporary rigidity on an ArcInst.
 void renameIds(IdMapper idMapper)
          Method to announce than Ids were renamed.
static void setGoodDRCCells(java.util.Set<Cell> goodDRCCells, Variable.Key key, int activeBits, boolean inMemory)
           
static void setTempRigid(ArcInst ai, boolean tempRigid)
          Method to set temporary rigidity on an ArcInst.
 void startBatch(Snapshot initialSnapshot)
          Method to start a batch of changes.
 
Methods inherited from class com.sun.electric.database.constraint.Constraints
eraseLibrary, examineCell, getCurrent, init, killObject, modifyCellGroup, readLibrary, redrawObject, renameObject, request, slice, writeLibrary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DRC_LAST_GOOD_DATE_SPACING

public static final Variable.Key DRC_LAST_GOOD_DATE_SPACING
key of Variable for last valid DRC date on a Cell. Only spacing rules


DRC_LAST_GOOD_BIT_SPACING

public static final Variable.Key DRC_LAST_GOOD_BIT_SPACING
key of Variable for last valid DRC bit on a Cell. Only spacing rules


DRC_LAST_GOOD_BIT_DEFAULT

public static final int DRC_LAST_GOOD_BIT_DEFAULT
Default valud when no bit is found

See Also:
Constant Field Values

DRC_LAST_GOOD_DATE_AREA

public static final Variable.Key DRC_LAST_GOOD_DATE_AREA
No need of bit for area since it is only 1 mode

Method Detail

changesQuiet

public static void changesQuiet(boolean quiet)
Method to set the subsequent changes to be "quiet". Quiet changes are not passed to constraint satisfaction, not recorded for Undo and are not broadcast. This method is used to suppress endBatch.


startBatch

public void startBatch(Snapshot initialSnapshot)
Method to start a batch of changes.

Overrides:
startBatch in class Constraints
Parameters:
initialSnapshot - snapshot before job changes.

endBatch

public void endBatch(java.lang.String userName)
Method to do hierarchical update on any cells that changed

Specified by:
endBatch in class Constraints

modifyNodeInst

public void modifyNodeInst(NodeInst ni,
                           ImmutableNodeInst oD)
Method to handle a change to a NodeInst.

Overrides:
modifyNodeInst in class Constraints
Parameters:
ni - the NodeInst that was changed.
oD - the old contents of the NodeInst.

modifyArcInst

public void modifyArcInst(ArcInst ai,
                          ImmutableArcInst oD)
Method to handle a change to an ArcInst.

Overrides:
modifyArcInst in class Constraints
Parameters:
ai - the ArcInst that changed.
oD - the old contents of the ArcInst.

modifyExport

public void modifyExport(Export pp,
                         ImmutableExport oldD)
Method to handle a change to an Export.

Overrides:
modifyExport in class Constraints
Parameters:
pp - the Export that moved.
oldD - the old contents of the Export.

modifyCell

public void modifyCell(Cell cell,
                       ImmutableCell oD)
Method to handle a change to a Cell.

Overrides:
modifyCell in class Constraints
Parameters:
cell - the Cell that was changed.
oD - the old contents of the Cell.

modifyLibrary

public void modifyLibrary(Library lib,
                          ImmutableLibrary oldD)
Method to handle a change to a Library.

Overrides:
modifyLibrary in class Constraints
Parameters:
lib - the Library that was changed.
oldD - the old contents of the Library.

newObject

public void newObject(ElectricObject obj)
Method to handle the creation of a new ElectricObject.

Overrides:
newObject in class Constraints
Parameters:
obj - the ElectricObject that was just created.

renameIds

public void renameIds(IdMapper idMapper)
Method to announce than Ids were renamed.

Overrides:
renameIds in class Constraints
Parameters:
idMapper - mapper from old Ids to new Ids.

setTempRigid

public static void setTempRigid(ArcInst ai,
                                boolean tempRigid)
Method to set temporary rigidity on an ArcInst.

Parameters:
ai - the ArcInst to make temporarily rigid/not-rigid.
tempRigid - true to make the ArcInst temporarily rigid; false to make it temporarily not-rigid.

removeTempRigid

public static void removeTempRigid(ArcInst ai)
Method to remove temporary rigidity on an ArcInst.

Parameters:
ai - the ArcInst to remove temporarily rigidity.

setGoodDRCCells

public static void setGoodDRCCells(java.util.Set<Cell> goodDRCCells,
                                   Variable.Key key,
                                   int activeBits,
                                   boolean inMemory)