Source code for qiskit_metal.qlibrary.sample_shapes.rectangle
# -*- coding: utf-8 -*-# This code is part of Qiskit.## (C) Copyright IBM 2017, 2021.## This code is licensed under the Apache License, Version 2.0. You may# obtain a copy of this license in the LICENSE.txt file in the root directory# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.## Any modifications or derivative works of this code must retain this# copyright notice, and modified files need to carry a notice indicating# that they have been altered from the originals."""File contains dictionary for Rectangle and the make()."""fromqiskit_metalimportdraw,Dictfromqiskit_metal.qlibrary.coreimportQComponent
[docs]classRectangle(QComponent):"""A single configurable square. Inherits QComponent class. The class will add default_options class Dict to QComponent class before calling make. .. image:: Rectangle.png .. meta:: :description: Rectangle Default Options: * width: '500um' * height: '300um' * subtract: 'False' * helper: 'False' """default_options=Dict(width='500um',height='300um',subtract='False',helper='False')"""Default drawing options"""TOOLTIP="""A single configurable square"""
[docs]defmake(self):"""The make function implements the logic that creates the geometry (poly, path, etc.) from the qcomponent.options dictionary of parameters, and the adds them to the design, using qcomponent.add_qgeometry(...), adding in extra needed information, such as layer, subtract, etc."""p=self.p# p for parsed parameters. Access to the parsed options.# create the geometryrect=draw.rectangle(p.width,p.height,p.pos_x,p.pos_y)rect=draw.rotate(rect,p.orientation)############################################### add qgeometryself.add_qgeometry('poly',{'rectangle':rect},subtract=p.subtract,helper=p.helper,layer=p.layer,chip=p.chip)