Module fnpcell.cell.pin
Functions
new_pin
def new_pin(*, name: Union[None, str, Hidden], position: Optional[Tuple[float, float]] = None,
orientation: float = nan, at: Optional[IRay] = None, metal_line_type: IMetalLineType,
shape: Optional[IShape] = None) -> IPin
Create a new electrial pin.
Classes
OwnedPin
class OwnedPin(name: Optional[str], raw: IPin, owner: ICellRef, assigned_orientation: Optional[float] = None,
hidden: bool = False)
OwnedPin is for defining a pin owned by a CellRef.
OwnedPin with owner attribute can appoint to it's owner, owner is a CellRef Any modification will create new OwnedPin instead of modify the original OwnedPin.
Ancestors
fnpcell.cell.pin._PinMixin, IOwnedPin, IPin, IOwnedTerminal, IOwned ITerminal,
IUpdatable, IRay, IPositioned, IRunnable
Class variables
var assigned_orientation: Optional[float]
var hidden: bool
var name: Optional[str]
var owner: ICellRef
var raw: IPin
Static methods
def from_pin(pin: IPin, owner: ICellRef) -> OwnedPin
Return OwnedPin.
Instance variables
var annotation
Return composite.
var metal_line_type : IMetalLineType
Return pin metal_line_type.
var orientation : float
Return calculated orientation take owner's transform into account.
var position : Tuple[float, float]
Return pin position.
var shape : IShape
Return pin shape.
Methods
def advanced(self: ~_Self, distance: float) -> ~_Self
Inherited from: IOwnedPin.advanced
Return an IRay with advanced position through orientation.
def c_mirrored(self) -> IOwnedTerminal
Inherited from: IOwnedPin.c_mirrored
Owner center mirrored.
def flatten(self) -> Pin
Return pin.
def h_mirrored(self) -> IOwnedTerminal
Inherited from: IOwnedPin.h_mirrored
Owner horizontal mirrored.
def opposite(self: ~_Self) -> ~_Self
Inherited from: IOwnedPin.opposite
Return an IRay with same position but opposite orientation.
def repositioned(self, *, at: Union[Tuple[float, float], IPositioned, IRay]) -> IOwnedTerminal
Inherited from: IOwnedPin.repositioned
Positioned at new point,Owner will translated.
def rotated(self, degrees: Optional[float] = None, radians: Optional[float] = None) -> IOwnedTerminal
Inherited from: IOwnedPin.rotated
Rotated both degrees and radians.
def v_mirrored(self) -> IOwnedTerminal
Inherited from: IOwnedPin.v_mirrored
Owner vertical mirrored.
def with_orientation(self, *, degrees: Optional[float] = None, radians: Optional[float] = None)
Return a new OwnedPin with the given orientation.
Pin
class Pin(name: Optional[str], position: Tuple[float, float], shape: IShape,
metal_line_type: IMetalLineType, orientation: float = nan, hidden: bool = False)
Pin is for defining a electrial Pin . Any modification will create new Pin instead of modify the original Pin.
Usage:
from fnpcell import all as fp
pin = fp.Pin(name="ep_0", position=(0, 0),...)
Ancestors
fnpcell.cell.pin._PinMixin, IPin, ITerminal, IUpdatable, IRay, IPositioned, IRunnable
Class variables
var hidden: bool
var metal_line_type: IMetalLineType
var name: Optional[str]
var orientation: float
var position: Tuple[float, float]
var shape: IShape
Instance variables
var annotation
Return composite.
Methods
def advanced(self: ~_Self, distance: float) -> ~_Self
Inherited from: IPin.advanced
Return an IRay with advanced position through orientation
def opposite(self: ~_Self) -> ~_Self
Inherited from: IPin.opposite
Return an IRay with same position but opposite orientation
def with_orientation(self, *, degrees: Optional[float] = None, radians: Optional[float] = None)
Return a new pin with the given orientation.