public class Topology
extends java.lang.Object
Constructor and Description |
---|
Topology(Cell cell,
boolean loadBackup)
Creates a new instance of Topology
|
Modifier and Type | Method and Description |
---|---|
int |
addNode(NodeInst ni)
Method to add a new NodeInst to the cell.
|
void |
addNodes(java.util.List<NodeInst> newNodes)
Method to add a new NodeInst to the cell.
|
ImmutableArcInst[] |
backupArcs(ImmutableArcInst.Iterable oldArcs) |
ImmutableNodeInst[] |
backupNodes(ImmutableNodeInst.Iterable oldNodes) |
void |
check(int[] cellUsages)
Method to check invariants in this Cell.
|
ArcInst |
findArc(java.lang.String name)
Method to find a named ArcInst on this Cell.
|
java.awt.geom.Rectangle2D |
findEssentialBounds()
Method to compute the "essential bounds" of this Cell.
|
NodeInst |
findNode(java.lang.String name)
Method to find a named NodeInst on this Cell.
|
ArcInst |
getArc(int arcIndex)
Method to return the ArcInst at specified position.
|
ArcInst |
getArcById(int arcId)
Method to return the ArcInst by its chronological index.
|
java.util.Iterator<ArcInst> |
getArcs()
Method to return an Iterator over all ArcInst objects in this Cell.
|
Cell |
getCell()
Method to return the parent Cell of this Topology.
|
java.util.Iterator<Nodable> |
getNodables()
Method to return an Iterator over all NodeInst objects in this Cell.
|
NodeInst |
getNode(int nodeIndex)
Method to return the NodeInst at specified position.
|
NodeInst |
getNodeById(int nodeId)
Method to return the NodeInst by its chronological index.
|
java.util.Iterator<NodeInst> |
getNodes()
Method to return an Iterator over all NodeInst objects in this Cell.
|
int |
getNumArcs()
Method to return the number of ArcInst objects in this Cell.
|
int |
getNumNodes()
Method to return the number of NodeInst objects in this Cell.
|
PortInst |
getPortInst(int nodeId,
PortProtoId portProtoId)
Method to return the PortInst by nodeId and PortProtoId.
|
void |
killNodes(java.util.Set<NodeInst> killedNodes)
Method to unlink a set of these NodeInsts from this Cell.
|
void |
removeNode(NodeInst ni)
Method to remove an NodeInst from the cell.
|
java.util.Iterator<Geometric> |
searchIterator(java.awt.geom.Rectangle2D bounds,
boolean includeEdges)
Method to return an interator over all RTBounds objects in a given area of this Cell that allows
to ignore elements touching the area.
|
void |
unfreshRTree() |
void |
updateArcs(CellRevision newRevision) |
boolean |
updateNodes(boolean full,
CellRevision newRevision,
java.util.BitSet exportsModified,
java.util.BitSet expandedNodes) |
void |
updatePortInsts(Cell proto,
int[] pattern)
Update PortInsts of all instances of specified Cell accoding to pattern.
|
void |
updateSubCells(java.util.BitSet exportsModified,
java.util.BitSet boundsModified) |
public Topology(Cell cell, boolean loadBackup)
public Cell getCell()
public java.util.Iterator<NodeInst> getNodes()
public java.util.Iterator<Nodable> getNodables()
public int getNumNodes()
public final NodeInst getNode(int nodeIndex)
nodeIndex
- specified position of NodeInst.public NodeInst getNodeById(int nodeId)
nodeId
- chronological index of NodeInst.public void updatePortInsts(Cell proto, int[] pattern)
pattern
- array with elements describing new PortInsts.public PortInst getPortInst(int nodeId, PortProtoId portProtoId)
nodeId
- specified NodeId.portProtoId
- public NodeInst findNode(java.lang.String name)
name
- the name of the NodeInst.public void killNodes(java.util.Set<NodeInst> killedNodes)
killedNodes
- a set of NodeInsts to kill.public ImmutableNodeInst[] backupNodes(ImmutableNodeInst.Iterable oldNodes)
public boolean updateNodes(boolean full, CellRevision newRevision, java.util.BitSet exportsModified, java.util.BitSet expandedNodes)
public void updateSubCells(java.util.BitSet exportsModified, java.util.BitSet boundsModified)
public void addNodes(java.util.List<NodeInst> newNodes)
newNodes
- the NodeInsts to be included in the cell.public int addNode(NodeInst ni)
ni
- the NodeInst to be included in the cell.public void removeNode(NodeInst ni)
ni
- the NodeInst to be removed from the cell.public java.awt.geom.Rectangle2D findEssentialBounds()
public java.util.Iterator<ArcInst> getArcs()
public int getNumArcs()
public final ArcInst getArc(int arcIndex)
arcIndex
- specified position of ArcInst.public ArcInst getArcById(int arcId)
arcId
- chronological index of ArcInst.public ArcInst findArc(java.lang.String name)
name
- the name of the ArcInst.public ImmutableArcInst[] backupArcs(ImmutableArcInst.Iterable oldArcs)
public void updateArcs(CellRevision newRevision)
public java.util.Iterator<Geometric> searchIterator(java.awt.geom.Rectangle2D bounds, boolean includeEdges)
bounds
- the specified area to search.includeEdges
- true if RTBounds objects along edges are considered in.public void unfreshRTree()
public void check(int[] cellUsages)
java.lang.AssertionError
- if invariants are not valid