Source code for fabulous.fabric_generator.gds_generator.script.odb_protocol
"""Protocols for ODB objects used in FABulous."""
# ruff: noqa: D102
from typing import Any, Protocol
[docs]
class OdbReaderLike(Protocol):
"""Protocol describing the reader object provided by the click wrapper."""
dbunits: float
tech: Any
block: Any
name: str
[docs]
class odbBTermLike(Protocol):
"""Protocol describing the odb.dbBTerm object."""
[docs]
def getName(self) -> str: ...
[docs]
def getBPins(self) -> list[Any]: ...
[docs]
class odbPointLike(Protocol):
"""Protocol describing the odb.dbPoint object."""
[docs]
def x(self) -> int: ...
[docs]
def y(self) -> int: ...
[docs]
class odbRectLike(Protocol):
"""Protocol describing the odb.dbRect object."""
[docs]
def xMin(self) -> int: ...
[docs]
def yMin(self) -> int: ...
[docs]
def xMax(self) -> int: ...
[docs]
def yMax(self) -> int: ...
[docs]
def dx(self) -> int: ...
[docs]
def dy(self) -> int: ...
[docs]
def xCenter(self) -> int: ...
[docs]
def yCenter(self) -> int: ...
[docs]
def ll(self) -> odbPointLike: ...
[docs]
def ul(self) -> odbPointLike: ...
[docs]
def ur(self) -> odbPointLike: ...
[docs]
def lr(self) -> odbPointLike: ...
[docs]
def center(self) -> odbPointLike: ...