gdsfactory.ComponentReference#
- class gdsfactory.ComponentReference(component: Component, origin: Coordinate = (0, 0), rotation: float = 0, magnification: float = 1, x_reflection: bool = False, visual_label: str = '', columns: int = 1, rows: int = 1, spacing=None, name: str | None = None, v1: tuple[float, float] | None = None, v2: tuple[float, float] | None = None)[source]#
Pointer to a Component with x, y, rotation, mirror.
- Parameters:
component – Component The referenced Component.
columns – Number of columns in the array.
rows – Number of rows in the array.
spacing – Distances between adjacent columns and adjacent rows.
origin – array-like[2] of int or float Position where the cell is inserted.
rotation – int or float Angle of rotation of the reference (in degrees).
magnification – int or float Magnification factor for the reference.
x_reflection – bool If True, the reference is reflected parallel to the x direction before being rotated.
name – str (optional) A name for the reference (if provided).
- __init__(component: Component, origin: Coordinate = (0, 0), rotation: float = 0, magnification: float = 1, x_reflection: bool = False, visual_label: str = '', columns: int = 1, rows: int = 1, spacing=None, name: str | None = None, v1: tuple[float, float] | None = None, v2: tuple[float, float] | None = None) None[source]#
Initialize the ComponentReference object.
Methods
__init__(component[, origin, rotation, ...])Initialize the ComponentReference object.
area([layer])Returns the area of the component.
connect(port, destination[, overlap, ...])Return ComponentReference where port connects to a destination.
get_bounding_box()get_labels([depth, set_transform])Return the list of labels created by this reference.
get_paths([depth])Return the list of paths created by this reference.
get_polygon_bbox([default, top, bottom, ...])Returns shapely Polygon with padding.
get_polygon_enclosure()get_polygons([by_spec, depth, ...])Return the list of polygons created by this reference.
get_ports_dict(**kwargs)Return a dict of ports.
get_ports_list(**kwargs)Return a list of ports.
get_ports_xsize(**kwargs)Return xdistance from east to west ports.
get_ports_ysize(**kwargs)Returns ydistance from east to west ports.
mirror([p1, p2])Mirrors.
mirror_x([port_name, x0])Perform horizontal mirror using x0 or port as axis (default, x0=0).
mirror_y([port_name, y0])Perform vertical mirror using y0 as axis (default, y0=0).
move([origin, destination, axis])Move the ComponentReference from origin point to destination.
movex([origin, destination])Moves an object by a specified x-distance.
movey([origin, destination])Moves an object by a specified y-distance.
port_by_orientation_ccw(key, **kwargs)Return port by indexing them clockwise.
port_by_orientation_cw(key, **kwargs)Return port by indexing them clockwise.
pprint_ports()Pretty print component ports.
rotate([angle, center])Return rotated ComponentReference.
to_dict()translate(dx, dy)validate(v, _info)Check with pydantic ComponentReference valid type.
Attributes
bboxReturn the bounding box of the ComponentReference.
centerReturns the center of the bounding box.
columnsinfolayersmagnificationmetadata_childnameoriginownerparentportsThis property allows you to access myref.ports, and receive a copy.
ports_layerportName.
ref_cellrotationrowssettingssizeReturns the (x, y) size of the bounding box.
size_infospacingv1v2xReturns the x-coordinate of the center of the bounding box.
x_reflectionxmaxReturns the maximum x-value of the bounding box.
xminReturns the minimum x-value of the bounding box.
xsizeReturns the horizontal size of the bounding box.
yReturns the y-coordinate of the center of the bounding box.
ymaxReturns the maximum y-value of the bounding box.
yminReturns the minimum y-value of the bounding box.
ysizeReturns the vertical size of the bounding box.