com.sun.electric.technology
Class ArcProto
java.lang.Object
com.sun.electric.technology.ArcProto
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<ArcProto>
public class ArcProto
- extends java.lang.Object
- implements java.lang.Comparable<ArcProto>, java.io.Serializable
The ArcProto class defines a type of ArcInst.
Every arc in the database appears as one prototypical object and many instantiative objects.
Thus, for a ArcProto such as the CMOS Metal-1 there is one object (called a ArcProto)
that describes the wire prototype and there are many objects (called ArcInsts),
one for every instance of a Metal-1 wire that appears in a circuit.
ArcProtos are statically created and placed in the Technology objects.
The basic ArcProto has a name, default width, function, Layers that describes it graphically and more.
- See Also:
- Serialized Form
Nested Class Summary |
static class |
ArcProto.Function
Function is a typesafe enum class that describes the function of an ArcProto. |
Method Summary |
void |
clearCurvable()
Method to set this ArcProto so that instances of it cannot curve. |
void |
clearEdgeSelect()
Method to set this ArcProto so that instances of it cannot be selected by their edge. |
void |
clearWipable()
Method to set this ArcProto so that instances of it cannot wipe nodes. |
int |
compareTo(ArcProto that)
Compares ArcProtos by their Technologies and definition order. |
java.lang.String |
describe()
Method to describe this ArcProto as a string. |
static ArcProto |
findArcProto(java.lang.String line)
Method to find the ArcProto with the given name. |
PrimitiveNode |
findOverridablePinProto()
Method to find the PrimitiveNode pin corresponding to this ArcProto type. |
PrimitiveNode |
findPinProto()
Method to find the PrimitiveNode pin corresponding to this ArcProto type. |
int |
getAngleIncrement()
Method to get the angle increment on this ArcProto. |
int |
getDefaultConstraints()
Method to get default ArcInst flags with this portoType. |
long |
getDefaultGridBaseWidth()
Method to return the default base width of this ArcProto in grid units. |
long |
getDefaultGridExtendOverMin()
Method to return the default extend of this ArcProto over minimal-width arc in grid units. |
double |
getDefaultLambdaBaseWidth()
Method to return the default base width of this ArcProto in lambda units. |
double |
getDefaultLambdaExtendOverMin()
Method to return the default extend of this ArcProto over minimal-width arc in base units. |
java.lang.String |
getFullName()
Method to return the full name of this ArcProto. |
ArcProto.Function |
getFunction()
Method to return the function of this ArcProto. |
int |
getGridBaseExtend()
Method to return the base width extend of this ArcProto in grid units. |
ArcProtoId |
getId()
Method to return the Id of this ArcProto. |
double |
getLambdaBaseExtend()
Method to return the base width extend of this ArcProto in lambda units. |
double |
getLambdaElibWidthOffset()
Method to return the width offset of this ArcProto in lambda units. |
Layer |
getLayer(int arcLayerIndex)
Method to return layer that comprises by its index in all layers |
int |
getLayerGridExtend(int arcLayerIndex)
Returns the extend of specified layer that comprise this ArcProto over base arc width in grid units. |
long |
getLayerGridExtend(Layer layer)
Returns the extend of specified layer that comprise this ArcProto over base arc width in grid units. |
java.util.Iterator<Layer> |
getLayerIterator()
Method to return an iterator over the layers in this ArcProto. |
double |
getLayerLambdaExtend(int arcLayerIndex)
Returns the extend of specified layer that comprise this ArcProto over base arc width in lambda units. |
double |
getLayerLambdaExtend(Layer layer)
Returns the extend of specified layer that comprise this ArcProto over base arc width in lambda units. |
Poly.Type |
getLayerStyle(int arcLayerIndex)
Returns the Poly.Style of specified layer that comprise this ArcLayer. |
Poly.Type |
getLayerStyle(Layer layer)
Returns the Poly.Style of specified layer that comprise this ArcLayer. |
int |
getMaxLayerGridExtend()
Method to return the maximal layer extend of this ArcProto in grid units. |
int |
getMinLayerGridExtend()
Method to return the minimal layer extend of this ArcProto in grid units. |
java.lang.String |
getName()
Method to return the name of this ArcProto. |
int |
getNumArcLayers()
Method to return the number of layers that comprise this ArcProto. |
Poly[] |
getShapeOfDummyArc(double lambdaLength)
Returns the polygons that describe dummy arc of this ArcProto
with default width and specified length. |
Technology |
getTechnology()
Method to return the Technology of this ArcProto. |
void |
getZValues(double[] array)
Method to get MinZ and MaxZ of this ArcProto |
int |
indexOf(Layer layer)
Method to find an index of Layer in a list of Layers that comprise this ArcProto. |
boolean |
isArcInvisible()
Method to tell if instances of this ArcProto are invisible. |
boolean |
isCurvable()
Method to tell if instances of this ArcProto can curve. |
boolean |
isDirectional()
Method to tell if instances of this ArcProto are directional. |
boolean |
isEdgeSelect()
Method to tell if instances of this ArcProto can be selected by their edge. |
boolean |
isExtended()
Method to tell if instances of this ArcProto have their ends extended. |
boolean |
isFixedAngle()
Method to tell if instances of this ArcProto are fixed-angle. |
boolean |
isNotUsed()
Method to tell if this ArcProto is used. |
boolean |
isRigid()
Method to tell if instances of this ArcProto are rigid. |
boolean |
isSkipSizeInPalette()
Method to tell if instaces of this ArcProto are special (don't appear in menu). |
boolean |
isSlidable()
Method to tell if instances of this ArcProto are slidable. |
boolean |
isSpecialArc()
Method to tell if instaces of this ArcProto are special (don't appear in menu). |
boolean |
isWipable()
Method to tell if instances of this ArcProto can wipe nodes. |
PrimitiveNode |
makeWipablePin(java.lang.String pinName,
java.lang.String portName,
double defSize,
ArcProto... extraArcs)
|
void |
setAngleIncrement(int angle)
Method to set the angle increment on this ArcProto. |
void |
setArcInvisible(boolean invisible)
Method to set this ArcProto to be completely invisible, and unselectable. |
void |
setCurvable()
Method to set this ArcProto so that instances of it can curve. |
boolean |
setDefaultLambdaBaseWidth(double lambdaWidth)
Method to set the base default width of this ArcProto in lambda units. |
void |
setDirectional(boolean directional)
Method to set the directional factor for this ArcProto. |
void |
setEdgeSelect()
Method to set this ArcProto so that instances of it can be selected by their edge. |
void |
setExtended(boolean extended)
Method to set the end-extension factor of this ArcProto. |
void |
setFactoryAngleIncrement(int angle)
Method to set the factory-default angle of this ArcProto. |
void |
setFactoryExtended(boolean extended)
Method to set the "factory default" end-extension state of this ArcProto. |
void |
setFactoryFixedAngle(boolean fixed)
Method to set the "factory default" fixed-angle state of this ArcProto. |
void |
setFactoryRigid(boolean rigid)
Method to set the "factory default" rigid state of this ArcProto. |
void |
setFactorySlidable(boolean slidable)
Method to set the "factory default" slidability state of this ArcProto. |
void |
setFixedAngle(boolean fixed)
Method to set the fixed-angle state of this ArcProto. |
void |
setNotUsed(boolean set)
Method to set this ArcProto so that it is not used. |
void |
setPinProto(PrimitiveNode np)
Method to set the default pin node to use for this ArcProto. |
void |
setRigid(boolean rigid)
Method to set the rigidity of this ArcProto. |
void |
setSkipSizeInPalette()
Method to allow instances of this ArcProto not to be considered in
tech palette for the calculation of the largest icon. |
void |
setSlidable(boolean slidable)
Method to set the slidability of this ArcProto. |
void |
setSpecialArc()
Method to allow instances of this ArcProto to be special in menu. |
void |
setWipable()
Method to set this ArcProto so that instances of it can wipe nodes. |
java.lang.String |
toString()
Returns a printable version of this ArcProto. |
protected java.lang.Object |
writeReplace()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
writeReplace
protected java.lang.Object writeReplace()
getId
public ArcProtoId getId()
- Method to return the Id of this ArcProto.
- Returns:
- the Id of this ArcProto.
getName
public java.lang.String getName()
- Method to return the name of this ArcProto.
- Returns:
- the name of this ArcProto.
getFullName
public java.lang.String getFullName()
- Method to return the full name of this ArcProto.
Full name has format "techName:primName"
- Returns:
- the full name of this ArcProto.
getTechnology
public Technology getTechnology()
- Method to return the Technology of this ArcProto.
- Returns:
- the Technology of this ArcProto.
setDefaultLambdaBaseWidth
public boolean setDefaultLambdaBaseWidth(double lambdaWidth)
- Method to set the base default width of this ArcProto in lambda units.
This is the reported/selected width, which means that it does not include the width offset.
For example, diffusion arcs are always accompanied by a surrounding well and select.
- Parameters:
lambdaWidth
- the full default width of this ArcProto in lambda units.
- Returns:
- returns true if preference was really changed.
getDefaultLambdaBaseWidth
public double getDefaultLambdaBaseWidth()
- Method to return the default base width of this ArcProto in lambda units.
This is the reported/selected width, which means that it does not include the width offset.
For example, diffusion arcs are always accompanied by a surrounding well and select.
This call returns only the width of the diffusion.
- Returns:
- the default base width of this ArcProto in lambda units.
getDefaultGridBaseWidth
public long getDefaultGridBaseWidth()
- Method to return the default base width of this ArcProto in grid units.
This is the reported/selected width, which means that it does not include the width offset.
For example, diffusion arcs are always accompanied by a surrounding well and select.
This call returns only the width of the diffusion.
- Returns:
- the default base width of this ArcProto in grid units.
getDefaultLambdaExtendOverMin
public double getDefaultLambdaExtendOverMin()
- Method to return the default extend of this ArcProto over minimal-width arc in base units.
This is the half of the difference between default width and minimal width.
- Returns:
- the default extend of this ArcProto over minimal-width arc in base units.
getDefaultGridExtendOverMin
public long getDefaultGridExtendOverMin()
- Method to return the default extend of this ArcProto over minimal-width arc in grid units.
This is the half of the difference between default width and minimal width.
- Returns:
- the default extend of this ArcProto over minimal-width arc in grid units.
getLambdaBaseExtend
public double getLambdaBaseExtend()
- Method to return the base width extend of this ArcProto in lambda units.
This is the reported/selected width.
For example, diffusion arcs are always accompanied by a surrounding well and select.
This call returns only the half width of the diffusion of minimal-width arc.
- Returns:
- the default base width extend of this ArcProto in lambda units.
getGridBaseExtend
public int getGridBaseExtend()
- Method to return the base width extend of this ArcProto in grid units.
This is the reported/selected width.
For example, diffusion arcs are always accompanied by a surrounding well and select.
This call returns only the half width of the diffusion of minimal-width arc.
- Returns:
- the default base width extend of this ArcProto in grid units.
getLambdaElibWidthOffset
public double getLambdaElibWidthOffset()
- Method to return the width offset of this ArcProto in lambda units.
The width offset excludes the surrounding implang material.
For example, diffusion arcs are always accompanied by a surrounding well and select.
The offset amount is the difference between the diffusion width and the overall width.
- Returns:
- the width offset of this ArcProto in lambda units.
getMinLayerGridExtend
public int getMinLayerGridExtend()
- Method to return the minimal layer extend of this ArcProto in grid units.
- Returns:
- the minimal layer extend of this ArcProto in grid units.
getMaxLayerGridExtend
public int getMaxLayerGridExtend()
- Method to return the maximal layer extend of this ArcProto in grid units.
- Returns:
- the maximal layer extend of this ArcProto in grid units.
setFactoryRigid
public void setFactoryRigid(boolean rigid)
- Method to set the "factory default" rigid state of this ArcProto.
Rigid arcs cannot change length or the angle of their connection to a NodeInst.
- Parameters:
rigid
- true if this ArcProto should be rigid by factory-default.
setRigid
public void setRigid(boolean rigid)
- Method to set the rigidity of this ArcProto.
Rigid arcs cannot change length or the angle of their connection to a NodeInst.
- Parameters:
rigid
- true if new instances of this ArcProto should be rigid.
isRigid
public boolean isRigid()
- Method to tell if instances of this ArcProto are rigid.
Rigid arcs cannot change length or the angle of their connection to a NodeInst.
- Returns:
- true if instances of this ArcProto are rigid.
setFactoryFixedAngle
public void setFactoryFixedAngle(boolean fixed)
- Method to set the "factory default" fixed-angle state of this ArcProto.
Fixed-angle arcs cannot change their angle, so if one end moves,
the other may also adjust to keep the arc angle constant.
- Parameters:
fixed
- true if this ArcProto should be fixed-angle by factory-default.
setFixedAngle
public void setFixedAngle(boolean fixed)
- Method to set the fixed-angle state of this ArcProto.
Fixed-angle arcs cannot change their angle, so if one end moves,
the other may also adjust to keep the arc angle constant.
- Parameters:
fixed
- true if new instances of this ArcProto should be fixed-angle.
isFixedAngle
public boolean isFixedAngle()
- Method to tell if instances of this ArcProto are fixed-angle.
Fixed-angle arcs cannot change their angle, so if one end moves,
the other may also adjust to keep the arc angle constant.
- Returns:
- true if instances of this ArcProto are fixed-angle.
setFactorySlidable
public void setFactorySlidable(boolean slidable)
- Method to set the "factory default" slidability state of this ArcProto.
Arcs that slide will not move their connected NodeInsts if the arc's end is still within the port area.
Arcs that cannot slide will force their NodeInsts to move by the same amount as the arc.
Rigid arcs cannot slide but nonrigid arcs use this state to make a decision.
- Parameters:
slidable
- true if this ArcProto should be slidability by factory-default.
setSlidable
public void setSlidable(boolean slidable)
- Method to set the slidability of this ArcProto.
Arcs that slide will not move their connected NodeInsts if the arc's end is still within the port area.
Arcs that cannot slide will force their NodeInsts to move by the same amount as the arc.
Rigid arcs cannot slide but nonrigid arcs use this state to make a decision.
- Parameters:
slidable
- true if new instances of this ArcProto should be slidable.
isSlidable
public boolean isSlidable()
- Method to tell if instances of this ArcProto are slidable.
Arcs that slide will not move their connected NodeInsts if the arc's end is still within the port area.
Arcs that cannot slide will force their NodeInsts to move by the same amount as the arc.
Rigid arcs cannot slide but nonrigid arcs use this state to make a decision.
- Returns:
- true if instances of this ArcProto are slidable.
setFactoryExtended
public void setFactoryExtended(boolean extended)
- Method to set the "factory default" end-extension state of this ArcProto.
End-extension causes an arc to extend past its endpoint by half of its width.
Most layout arcs want this so that they make clean connections to orthogonal arcs.
- Parameters:
extended
- true if this ArcProto should be end-extended by factory-default.
setExtended
public void setExtended(boolean extended)
- Method to set the end-extension factor of this ArcProto.
End-extension causes an arc to extend past its endpoint by half of its width.
Most layout arcs want this so that they make clean connections to orthogonal arcs.
- Parameters:
extended
- true if new instances of this ArcProto should be end-extended.
isExtended
public boolean isExtended()
- Method to tell if instances of this ArcProto have their ends extended.
End-extension causes an arc to extend past its endpoint by half of its width.
Most layout arcs want this so that they make clean connections to orthogonal arcs.
- Returns:
- true if instances of this ArcProto have their ends extended.
setDirectional
public void setDirectional(boolean directional)
- Method to set the directional factor for this ArcProto.
Directional arcs have an arrow drawn on them to indicate flow.
It is only for documentation purposes and does not affect the circuit.
- Parameters:
directional
- true if new instances of this ArcProto should be directional.
isDirectional
public boolean isDirectional()
- Method to tell if instances of this ArcProto are directional.
Directional arcs have an arrow drawn on them to indicate flow.
It is only for documentation purposes and does not affect the circuit.
- Returns:
- true if instances of this ArcProto are directional.
setNotUsed
public void setNotUsed(boolean set)
- Method to set this ArcProto so that it is not used.
Unused arcs do not appear in the component menus and cannot be created by the user.
The state is useful for hiding arcs that the user should not use.
- Parameters:
set
-
isNotUsed
public boolean isNotUsed()
- Method to tell if this ArcProto is used.
Unused arcs do not appear in the component menus and cannot be created by the user.
The state is useful for hiding arcs that the user should not use.
- Returns:
- true if this ArcProto is used.
setArcInvisible
public void setArcInvisible(boolean invisible)
- Method to set this ArcProto to be completely invisible, and unselectable.
When all of its layers have been made invisible, the node is flagged to be invisible.
- Parameters:
invisible
- true to set this ArcProto to be completely invisible and unselectable.
isArcInvisible
public boolean isArcInvisible()
- Method to tell if instances of this ArcProto are invisible.
When all of its layers have been made invisible, the node is flagged to be invisible.
- Returns:
- true if instances of this ArcProto are invisible.
setSkipSizeInPalette
public void setSkipSizeInPalette()
- Method to allow instances of this ArcProto not to be considered in
tech palette for the calculation of the largest icon.
Valid for menu display
isSkipSizeInPalette
public boolean isSkipSizeInPalette()
- Method to tell if instaces of this ArcProto are special (don't appear in menu).
Valid for menu display
setWipable
public void setWipable()
- Method to set this ArcProto so that instances of it can wipe nodes.
For display efficiency reasons, pins that have arcs connected to them should not bother being drawn.
Those arc prototypes that can erase their connecting pins have this state set,
and when instances of these arcs connect to the pins, those pins stop being drawn.
It is necessary for the pin node prototype to enable wiping (with setArcsWipe).
A NodeInst that becomes wiped out has "setWiped" called.
clearWipable
public void clearWipable()
- Method to set this ArcProto so that instances of it cannot wipe nodes.
For display efficiency reasons, pins that have arcs connected to them should not bother being drawn.
Those arc prototypes that can erase their connecting pins have this state set,
and when instances of these arcs connect to the pins, those pins stop being drawn.
It is necessary for the pin node prototype to enable wiping (with setArcsWipe).
A NodeInst that becomes wiped out has "setWiped" called.
isWipable
public boolean isWipable()
- Method to tell if instances of this ArcProto can wipe nodes.
For display efficiency reasons, pins that have arcs connected to them should not bother being drawn.
Those arc prototypes that can erase their connecting pins have this state set,
and when instances of these arcs connect to the pins, those pins stop being drawn.
It is necessary for the pin node prototype to enable wiping (with setArcsWipe).
A NodeInst that becomes wiped out has "setWiped" called.
- Returns:
- true if instances of this ArcProto can wipe nodes.
setCurvable
public void setCurvable()
- Method to set this ArcProto so that instances of it can curve.
Since arc curvature is complex to draw, arcs with this capability
must be marked this way.
A curved arc has the variable "arc_radius" on it with a curvature factor.
clearCurvable
public void clearCurvable()
- Method to set this ArcProto so that instances of it cannot curve.
Since arc curvature is complex to draw, arcs with this capability
must be marked this way.
A curved arc has the variable "arc_radius" on it with a curvature factor.
isCurvable
public boolean isCurvable()
- Method to tell if instances of this ArcProto can curve.
Since arc curvature is complex to draw, arcs with this capability
must be marked this way.
A curved arc has the variable "arc_radius" on it with a curvature factor.
- Returns:
- true if instances of this ArcProto can curve.
setEdgeSelect
public void setEdgeSelect()
- Method to set this ArcProto so that instances of it can be selected by their edge.
Artwork primitives that are not filled-in or are outlines want edge-selection, instead
of allowing a click anywhere in the bounding box to work.
clearEdgeSelect
public void clearEdgeSelect()
- Method to set this ArcProto so that instances of it cannot be selected by their edge.
Artwork primitives that are not filled-in or are outlines want edge-selection, instead
of allowing a click anywhere in the bounding box to work.
isEdgeSelect
public boolean isEdgeSelect()
- Method to tell if instances of this ArcProto can be selected by their edge.
Artwork primitives that are not filled-in or are outlines want edge-selection, instead
of allowing a click anywhere in the bounding box to work.
- Returns:
- true if instances of this ArcProto can be selected by their edge.
setSpecialArc
public void setSpecialArc()
- Method to allow instances of this ArcProto to be special in menu.
Valid for menu display
isSpecialArc
public boolean isSpecialArc()
- Method to tell if instaces of this ArcProto are special (don't appear in menu).
Valid for menu display
getDefaultConstraints
public int getDefaultConstraints()
- Method to get default ArcInst flags with this portoType.
getFunction
public ArcProto.Function getFunction()
- Method to return the function of this ArcProto.
The Function is a technology-independent description of the behavior of this ArcProto.
- Returns:
- function the function of this ArcProto.
setFactoryAngleIncrement
public void setFactoryAngleIncrement(int angle)
- Method to set the factory-default angle of this ArcProto.
This is only called from ArcProto during construction.
- Parameters:
angle
- the factory-default angle of this ArcProto.
setAngleIncrement
public void setAngleIncrement(int angle)
- Method to set the angle increment on this ArcProto.
The angle increment is the granularity on placement angle for instances
of this ArcProto. It is in degrees.
For example, a value of 90 requests that instances run at 0, 90, 180, or 270 degrees.
A value of 0 allows arcs to be created at any angle.
- Parameters:
angle
- the angle increment on this ArcProto.
getAngleIncrement
public int getAngleIncrement()
- Method to get the angle increment on this ArcProto.
The angle increment is the granularity on placement angle for instances
of this ArcProto. It is in degrees.
For example, a value of 90 requests that instances run at 0, 90, 180, or 270 degrees.
A value of 0 allows arcs to be created at any angle.
- Returns:
- the angle increment on this ArcProto.
setPinProto
public void setPinProto(PrimitiveNode np)
- Method to set the default pin node to use for this ArcProto.
The pin node is used for making bends in wires.
It must have just 1 port in the center, and be able to connect
to this type of arc.
- Parameters:
np
- the default pin node to use for this ArcProto.
findOverridablePinProto
public PrimitiveNode findOverridablePinProto()
- Method to find the PrimitiveNode pin corresponding to this ArcProto type.
Users can override the pin to use, and this method returns the user setting.
For example, if this ArcProto is metal-1 then return the Metal-1-pin,
but the user could set it to Metal-1-Metal-2-Contact.
- Returns:
- the PrimitiveNode pin to use for arc bends.
findPinProto
public PrimitiveNode findPinProto()
- Method to find the PrimitiveNode pin corresponding to this ArcProto type.
For example, if this ArcProto is metal-1 then return the Metal-1-pin.
- Returns:
- the PrimitiveNode pin to use for arc bends.
makeWipablePin
public PrimitiveNode makeWipablePin(java.lang.String pinName,
java.lang.String portName,
double defSize,
ArcProto... extraArcs)
findArcProto
public static ArcProto findArcProto(java.lang.String line)
- Method to find the ArcProto with the given name.
This can be prefixed by a Technology name.
- Parameters:
line
- the name of the ArcProto.
- Returns:
- the specified ArcProto, or null if none can be found.
getNumArcLayers
public int getNumArcLayers()
- Method to return the number of layers that comprise this ArcProto.
- Returns:
- the number of layers that comprise this ArcProto.
getLayer
public Layer getLayer(int arcLayerIndex)
- Method to return layer that comprises by its index in all layers
- Parameters:
arcLayerIndex
- layer index
- Returns:
- specified layer that comprises this ArcProto.
getLayerLambdaExtend
public double getLayerLambdaExtend(int arcLayerIndex)
- Returns the extend of specified layer that comprise this ArcProto over base arc width in lambda units.
- Parameters:
arcLayerIndex
- layer index
- Returns:
- the extend of specified layer that comprise this ArcProto over base arc width in lambda units.
getLayerGridExtend
public int getLayerGridExtend(int arcLayerIndex)
- Returns the extend of specified layer that comprise this ArcProto over base arc width in grid units.
- Parameters:
arcLayerIndex
- layer index
- Returns:
- the extend of specified layer that comprise this ArcProto over base arc width in grid units.
getLayerStyle
public Poly.Type getLayerStyle(int arcLayerIndex)
- Returns the Poly.Style of specified layer that comprise this ArcLayer.
- Parameters:
arcLayerIndex
- layer index
- Returns:
- the Poly.Style of specified layer that comprise this ArcLayer.
getLayerLambdaExtend
public double getLayerLambdaExtend(Layer layer)
- Returns the extend of specified layer that comprise this ArcProto over base arc width in lambda units.
- Parameters:
layer
- specified Layer
- Returns:
- the extend of specified layer that comprise this ArcProto over base arc width in lambda units.
- Throws:
java.lang.IndexOutOfBoundsException
- when specified layer diesn't comprise this ArcProto
getLayerGridExtend
public long getLayerGridExtend(Layer layer)
- Returns the extend of specified layer that comprise this ArcProto over base arc width in grid units.
- Parameters:
layer
- specified Layer
- Returns:
- the extend of specified layer that comprise this ArcProto over base arc width in grid units.
- Throws:
java.lang.IndexOutOfBoundsException
- when specified layer diesn't comprise this ArcProto
getLayerStyle
public Poly.Type getLayerStyle(Layer layer)
- Returns the Poly.Style of specified layer that comprise this ArcLayer.
- Parameters:
layer
- specified Layer
- Returns:
- the Poly.Style of specified layer that comprise this ArcLayer.
- Throws:
java.lang.IndexOutOfBoundsException
- when specified layer diesn't comprise this ArcProto
getLayerIterator
public java.util.Iterator<Layer> getLayerIterator()
- Method to return an iterator over the layers in this ArcProto.
- Returns:
- an iterator over the layers in this ArcProto.
indexOf
public int indexOf(Layer layer)
- Method to find an index of Layer in a list of Layers that comprise this ArcProto.
If this layer is not in the list, return -1
- Parameters:
layer
- the Layer to find.
- Returns:
- an index of Layer in a list of Layers that comprise this ArcProto, or -1.
getZValues
public void getZValues(double[] array)
- Method to get MinZ and MaxZ of this ArcProto
- Parameters:
array
- array[0] is minZ and array[1] is max
getShapeOfDummyArc
public Poly[] getShapeOfDummyArc(double lambdaLength)
- Returns the polygons that describe dummy arc of this ArcProto
with default width and specified length.
- Parameters:
lambdaLength
- length of dummy arc in lambda units.
- Returns:
- an array of Poly objects that describes dummy arc graphically.
describe
public java.lang.String describe()
- Method to describe this ArcProto as a string.
Prepends the Technology name if it is
not from the current technology (for example, "mocmos:Polysilicon-1").
- Returns:
- a String describing this ArcProto.
compareTo
public int compareTo(ArcProto that)
- Compares ArcProtos by their Technologies and definition order.
- Specified by:
compareTo
in interface java.lang.Comparable<ArcProto>
- Parameters:
that
- the other ArcProto.
- Returns:
- a comparison between the ArcProto.
toString
public java.lang.String toString()
- Returns a printable version of this ArcProto.
- Overrides:
toString
in class java.lang.Object
- Returns:
- a printable version of this ArcProto.