public abstract class Part extends NetObject implements PartReport.PartReportable
NetObject.Type
Modifier and Type | Field and Description |
---|---|
protected Wire[] |
pins |
protected static int |
TYPE_FIELD_WIDTH |
Modifier | Constructor and Description |
---|---|
protected |
Part(NccNameProxy.PartNameProxy name,
PrimitiveNode.Function type,
Wire[] pins) |
Modifier and Type | Method and Description |
---|---|
void |
checkMe(Circuit parent)
check that this Part is in proper form
complain if it's wrong
|
java.lang.Integer |
computeHashCode() |
abstract java.lang.String |
connectionDescription(Wire w)
comma separated list of pins connected to w
|
java.util.Iterator |
getConnected() |
int |
getHashFor(Wire w)
The Part must compute a hash code contribution for a Wire to
use.
|
double |
getLength() |
java.lang.String |
getName()
instance name qualified by path prefix
|
NccNameProxy.PartNameProxy |
getNameProxy() |
NetObject.Type |
getNetObjType()
Distinguish Parts, Wires, and Ports.
|
abstract int[] |
getPinCoeffs()
Here is an accessor method for the coefficient array for this
Part.
|
abstract PinType |
getPinTypeOfNthPin(int n) |
double |
getWidth() |
abstract java.lang.Integer |
hashCodeForParallelMerge()
Compute a hash code for this part for the purpose of performing
parallel merge.
|
java.lang.String |
instanceDescription()
human readable identification of instance
|
boolean |
isDeleted() |
boolean |
isMos() |
boolean |
isResistor() |
int |
numDistinctWires()
Get the number of distinct Wires this part is connected to.
|
int |
numPins()
Here is the accessor for the number of terminals on this Part
|
int |
numPinsConnected(Wire w)
How many pins of this Part are connected to Wire.
|
abstract boolean |
parallelMerge(Part p,
NccOptions nccOpt)
This method attempts to merge this Part in parallel with another Part
|
void |
setDeleted()
Mark this Part deleted and release all storage
|
PrimitiveNode.Function |
type()
Return the type of part.
|
abstract int |
typeCode()
returns a unique int value for each distinct Part type
|
abstract java.lang.String |
typeString()
returns String describing Part's type
|
abstract java.lang.String |
valueDescription()
Report the numeric values of this Part,
for example: width, length, resistance.
|
connectionDescription, error, fullDescription, getCode, getParent, setParent, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
fullDescription
protected static final int TYPE_FIELD_WIDTH
protected Wire[] pins
protected Part(NccNameProxy.PartNameProxy name, PrimitiveNode.Function type, Wire[] pins)
name
- the name of Parttype
- the type of Partspins
- Wires attached to pins of Partpublic PrimitiveNode.Function type()
public java.lang.String getName()
NetObject
getName
in interface NetObjReport.NetObjReportable
getName
in class NetObject
public java.util.Iterator getConnected()
getConnected
in class NetObject
public NccNameProxy.PartNameProxy getNameProxy()
getNameProxy
in interface PartReport.PartReportable
public NetObject.Type getNetObjType()
NetObject
getNetObjType
in class NetObject
public int numPins()
public abstract int[] getPinCoeffs()
public abstract boolean parallelMerge(Part p, NccOptions nccOpt)
p
- the other Part with which to mergenccOpt
- NccOptions. Used for size tolerance specification.public abstract java.lang.Integer hashCodeForParallelMerge()
public void setDeleted()
public int numDistinctWires()
public abstract java.lang.String typeString()
typeString
in interface PartReport.PartReportable
public abstract int typeCode()
public int numPinsConnected(Wire w)
w
- the Wire to testpublic java.lang.Integer computeHashCode()
public int getHashFor(Wire w)
w
- the Wire for which a hash code is neededpublic void checkMe(Circuit parent)
public abstract PinType getPinTypeOfNthPin(int n)
public java.lang.String instanceDescription()
NetObject
instanceDescription
in interface NetObjReport.NetObjReportable
instanceDescription
in class NetObject
public abstract java.lang.String valueDescription()
valueDescription
in class NetObject
public abstract java.lang.String connectionDescription(Wire w)
public boolean isMos()
isMos
in interface PartReport.PartReportable
public boolean isResistor()
isResistor
in interface PartReport.PartReportable
public double getWidth()
getWidth
in interface PartReport.PartReportable
public double getLength()
getLength
in interface PartReport.PartReportable