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: ...