Abstract base class for containers which add waveguides to the contents, such as fanout or for routing ports in certain directions
Waveguides are provided as a list of child cells. They will be bundled if bundled = True.
Template for all ports. If None, the waveguide templates of the ports will be used
waveguides: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, optional
waveguides added to the contents
If True, automatically transition all ports of contents to the given trace template. If False, no transitions are applied, which might lead to a discontinuity in the waveguide. Also, if trace_template is None, no transitions are applied.
Labels of the ports to be processed. Set to None to process all ports.
contents: PCell, optional
the contents of the container: the child cell
Dictionary for remapping of the port names of the contents to the external ports
cell_instances: _PCellInstanceDict, optional
The unique name of the pcell
trace_templates: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked
list of templates to apply to all ports
bundle of waveguides added to the contents, generated based on the supplied waveguides list
view_name: str, optional
The name of the view
When True, the waveguide area will be covered by i3.Rectangles on all cover layers.
routes along which the waveguides will be generated
contents_transformation: GenericNoDistortTransform, optional
if True, it will insert the contents as elements in the layout, rather than as an Instance
Number of grid cells per design unit
Ratio of grid cell and design unit
grid: float and number > 0, locked
design grid. Extracted by default from TECH.METRICS.GRID
unit: float and number > 0, locked
design unit. Extracted by default from TECH.METRICS.UNIT