qiskit-community / qiskit-metal

Quantum Hardware Design. Open-source project for engineers and scientists to design superconducting quantum devices with ease.
https://qiskit-community.github.io/qiskit-metal/
Apache License 2.0
270 stars 201 forks source link

GDS renderer: changed criterion for rounding paths #973

Open Th-Fo opened 9 months ago

Th-Fo commented 9 months ago

Method QGDSRenderer._qgeometry_to_gds() checks several conditions to decide whether a shapely.geometry.LineString is drawn with rounded or sharp corners. One of them takes into account that if the fillet radius gets too small relative to the width of the line, the rounding cannot be applied correctly anymore, hence drawing the line with sharp corners.

Before this commit, this was implemented via the criterion

qgeometry_element.fillet < qgeometry_element.width;

however, this criterion is too strict because corners can well be rounded also if 0.5*width < fillet radius < width. Therefore, this commit changes this criterion to

qgeometry_element.fillet < 0.5 * qgeometry_element.width.

What are the issues this pull addresses (issue numbers / links)?

Did you add tests to cover your changes (yes/no)?

Did you update the documentation accordingly (yes/no)?

Did you read the CONTRIBUTING document (yes/no)?

Summary

Details and comments

CLAassistant commented 9 months ago

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

:white_check_mark: zlatko-minev
:x: Thomas Foesel


Thomas Foesel seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

zlatko-minev commented 7 months ago

@Th-Fo you have to 1) sign the CLA for us to merge this and 2) there is a linter issue that failed, see image:

image