Matthias Koefferlein
14fa7a3760
Adding tests
2024-10-19 20:35:47 +02:00
Matthias Köfferlein
ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
...
Wip
2024-09-21 20:33:21 +02:00
Matthias Koefferlein
680874c8e3
More variants of Layout#properties_id + added Layout#properties_hash and Layout#properties_array. Clarification of documentation.
2024-09-08 19:45:10 +02:00
Matthias Koefferlein
bf965a7806
Implemented solution for issue #1836 (Allow the usage of Cell.shapes(LayerInfo(...)))
...
- For Cell#shapes, LayerInfo is an accepted argument now
- If the layer does not exist, it is created (non-const version)
or an error is raised (const version)
- Cell#clear also accepts a LayerInfo object
- Layout#clear and Layout#delete_layer also accept
a LayerInfo parameter
Rationale for supporting the clear and delete_layer methods:
These cases do nothing if the layer does not exist, so there
is a benefit of using them: it is not required to check first
if the layer exists.
2024-09-07 20:29:43 +02:00
Matthias Köfferlein
857fbc873c
Merge pull request #1824 from KLayout/bugfix/issue-1823
...
Fixed bug #1823 (select_all not working)
2024-08-10 13:33:48 +02:00
Matthias Köfferlein
bccc421f3d
Merge pull request #1821 from KLayout/feature/issue-1816
...
Feature/issue 1816
2024-08-10 13:33:25 +02:00
Matthias Koefferlein
3e0d0ad444
Added tests, fixed others
2024-08-09 17:20:40 +02:00
Matthias Koefferlein
fd1dc842e0
Generic GSI methods #_to_const_object (for testing) and #_const_cast. Fixed a class initialization issue - sub classes should not be registered by name at top level in Expressions
2024-08-07 00:11:48 +02:00
Matthias Koefferlein
82b3030352
const versions of Layout#cell and Layout#top_cell(s)
2024-08-06 18:19:31 +02:00
Matthias Koefferlein
35bd336d3a
Added test for PCellParameterState
2024-08-04 23:36:44 +02:00
Matthias Koefferlein
b27bcd5c16
Added tests for GSI bindings of new EdgePairs functions
2024-08-04 22:26:21 +02:00
Matthias Köfferlein
8ab398dc58
Merge pull request #1811 from KLayout/wip
...
Wip
2024-07-30 18:59:09 +02:00
Matthias Koefferlein
c3fdc6e1bc
Implemented a solution for issue #1790 (Support for recursive PCell instances)
...
This also fixes some other issues, like "display_text_impl" being
called when a PCell is run with the debugger open.
2024-07-27 14:00:54 +02:00
Matthias Koefferlein
58d489b39a
Added Region#being_shapes_rec and Region#begin_merged_shapes_rec, mainly for being able to retrieve shapes with properties from Region#nets
2024-07-25 19:34:08 +02:00
Matthias Koefferlein
4cd8772e70
Convenience methods Shape#properties, Layout#properties, Cell#properties, Instance#properties
2024-07-24 22:29:09 +02:00
Matthias Koefferlein
6baabc30bb
Added Netlist#top_circuit and Netlist#top_circuits convenience methods
2024-07-24 20:57:17 +02:00
Matthias Koefferlein
16abeb2bdc
Merge branch 'master' into wip
2024-07-22 21:34:12 +02:00
Matthias Koefferlein
ee07e4b3b9
Added smoke test for Layout#break_polygons and Shapes#break_polygons to RBA
2024-07-17 23:25:20 +02:00
Matthias Koefferlein
072edecb1a
Add-on making re-registration of PCells a valid feature.
2024-07-13 18:55:17 +02:00
Matthias Koefferlein
0df6339f4e
Fixing issue #1782
...
This patch establishes "nan", "inf" and "-inf" as
valid values for tl::Variant, so corresponding
PCell parameters can be serialized and are
properly managed.
2024-07-13 18:07:45 +02:00
Matthias Koefferlein
dbadeb47fe
Added test
2024-07-06 00:29:34 +02:00
Matthias Köfferlein
3237f5ec4a
Merge pull request #1761 from KLayout/feature/issue-1655
...
Feature/issue 1655
2024-07-01 18:24:22 +02:00
Matthias Koefferlein
b92c7bf225
Refined solution
2024-06-29 23:22:32 +02:00
Matthias Koefferlein
a5b98f93ff
Implemented solution for issue #1741 (Feature request: tooltip string for PCell parameter)
2024-06-29 22:10:43 +02:00
Matthias Köfferlein
564861abe1
Merge pull request #1753 from KLayout/feature/issue-1747
...
Fixing issue #1747 (signed coordinate transformations with Trans/DTra…
2024-06-29 20:12:07 +02:00
Matthias Koefferlein
61e2758bbb
Fixing issue #1747 (signed coordinate transformations with Trans/DTrans/CplxTrans etc.)
2024-06-22 23:25:45 +02:00
Matthias Koefferlein
24a9e6824a
Added tests for the last fix.
2024-06-16 16:54:20 +02:00
Matthias Koefferlein
1677111735
Enhanced documentation for LayoutToNetlist class, two more methods (layer_indexes, layer_info)
2024-05-25 19:57:51 +02:00
Matthias Koefferlein
4f88ff68da
Better error messages on Expressions too.
2024-05-25 19:18:15 +02:00
Matthias Koefferlein
d59d318218
Bugfix: restoring original overload matching scheme for Ruby and Python
2024-05-25 18:58:18 +02:00
Matthias Koefferlein
eb92e5f2d1
Better error messages on argument mismatch for Ruby too.
2024-05-25 18:43:44 +02:00
Matthias Koefferlein
1861abc68c
Bugfix for passing default arguments to GSI calls
...
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.
In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Köfferlein
d14f8b0253
Merge pull request #1694 from KLayout/waive-concept
...
Waive concept
2024-04-30 15:27:15 +02:00
Matthias Koefferlein
9ef51ca981
RdbCell#layout_name and RdbItem#comment with tests and GSI binding
2024-04-27 19:56:39 +02:00
Matthias Koefferlein
f68fd4f8d0
Refactoring of EdgePairs/Edges API to avoid ambiguities
2024-04-21 00:17:05 +02:00
Matthias Koefferlein
00bc208e3f
Merge branch 'master' into editor-hooks
2024-03-31 10:39:00 +02:00
Matthias Koefferlein
3836874b8f
Enhanced Euclidian visualization
2024-03-31 10:30:04 +02:00
Matthias Koefferlein
03d77bbff6
Region#drc_hull for generating DRC space forbidding region visualizations
2024-03-30 22:01:39 +01:00
Matthias Koefferlein
c43b70b783
Shape#hash and Shape#< allow using Shape objects as hash keys
2024-03-29 21:47:37 +01:00
Matthias Koefferlein
6ac1c32a8d
Merge branch 'master' into 1598-support-for-soft-connections
2024-03-29 09:00:17 +01:00
Matthias Köfferlein
555354090f
Merge pull request #1664 from KLayout/issue-1662
...
Issue 1662
2024-03-29 08:58:31 +01:00
Matthias Köfferlein
0091292f7c
Merge pull request #1660 from KLayout/issue-1651
...
Fixing issue #1651 (errors when adding polygons with 4 points) - need…
2024-03-29 08:57:41 +01:00
Matthias Köfferlein
467c8c7527
Merge pull request #1650 from KLayout/issue-1632
...
Fixed issue #1632 (at least partially): introducing non-const version…
2024-03-29 08:56:55 +01:00
Matthias Koefferlein
5699c91d3f
Some utility features derived from the latest code changes
...
- Subtraction of boxes (pya/RBA: Box minus operator)
- Shape#rectangle, Shape#drectangle
- EdgePairs#write, Edges#write, Texts#write, Region#write for
debugging
2024-03-26 21:48:38 +01:00
Matthias Koefferlein
ab93dde25c
Tests for GSI binding
2024-03-24 22:11:07 +01:00
Matthias Koefferlein
b9bdcf6fac
Preparations: recursive shape iterator shortcuts if hierarchy traversal, needs testing.
2024-03-24 19:01:36 +01:00
Matthias Koefferlein
376058f34b
Implemented fix for issue-1662 (Strong default grids)
2024-03-24 12:48:53 +01:00
Matthias Köfferlein
206e271ee3
Merge pull request #1649 from KLayout/wip
...
Wip
2024-03-23 15:45:52 +01:00
Matthias Koefferlein
38a3b8305e
Fixing issue #1651 (errors when adding polygons with 4 points) - needs some testing
2024-03-23 15:24:18 +01:00
Matthias Köfferlein
fa14afbbf3
Pcell limits ( #1654 )
...
* Klayout PyCell integration
-added tl::optional as derivate of std::optional for c++17 and above, reduced
implementation otherwise
-fixed missing include for c++17 and above
-added range constraints for PCell parameter
Signed-off-by: ThomasZecha <zecha@ihp-microelectronics.com>
* tl::optional now based on internal implementation, added tests and tl::to_string binding
* Refactoring the range into min_value and max_value attributes without action and resolution.
* Integration of feature into PCell framework
* Cleanup and fixed some compile issues
* Cleanup, added tests
* [consider merging] Added pymod distutil_src files to dependencies.
* Updated Python stubs
* User feedback: upon entering an invalid value string into an edit box, do not reset the field
---------
Signed-off-by: ThomasZecha <zecha@ihp-microelectronics.com>
Co-authored-by: ThomasZecha <zecha@ihp-microelectronics.com>
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-03-13 21:50:48 +01:00
klayoutmatthias
f2d61e1dee
Fixed a crash with Ruby 2.0.0 on CentOS7
2024-03-11 22:39:59 +00:00
Matthias Koefferlein
fd8ca56caf
Some tests for Connectivity
2024-03-11 21:14:00 +01:00
Matthias Koefferlein
7c4133b9e4
Fixed issue #1632 (at least partially): introducing non-const versions of RDB iterators and access methods
2024-03-09 21:54:17 +01:00
Matthias Koefferlein
a92029b722
Merge branch 'master' into drc-procs-and-filters
2024-03-09 01:21:56 +01:00
Matthias Koefferlein
30df7a708e
Merge branch 'master' into wip
2024-03-09 01:18:43 +01:00
Matthias Koefferlein
a431f70ad4
Polygon#break, DPolygon#break, SimplPolygon#break, DSimplePolygon#break
2024-02-29 22:57:28 +01:00
Matthias Koefferlein
890b389102
Merge branch 'wip2'
2024-02-18 22:27:17 +01:00
Matthias Koefferlein
4ed64fdfa1
GSI binding for tech specific grids
2024-02-16 15:19:32 +01:00
Matthias Köfferlein
a1c08c0f89
DRC switch to exclude the kissing corner configuration (and more) ( #1600 )
...
* Some refactoring, introducing new configuration option for edge pair check core algorithm for zero distance handling.
* Bugfix
* Renaming for clarification of collinear edges vs. distance which is defined otherwise.
* Implemented low-level option for collinear edge handling in Edges and Region
* DRC integration of new features
* Simple test for collinear mode feature
* Updating documentation
* Experiment: extending collinear mode towards 'zero distance'
* DRC 'collinear mode' becomes 'zero distance mode'
With this change, the default implementation for kissing corners
is changed from collinear edges only to touching edges in general.
The original mode can be restored by using:
l1.space(600.nm, DRCZeroDistanceMode::new(RBA::ZeroDistanceMode::IncludeZeroDistanceWhenCollinearAndTouching)).output(103, 0)
* Adding test data
* Fixed unit tests
* Fixed unit test
* Renamed new DRC options to: without_touching_corners and without_touching_edges as this is more consistent
* Fixed GSI binding, so no internal error is thrown when generating the doc
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:40:00 +01:00
Matthias Koefferlein
3a83175a02
Compatibility with older Ruby versions
2024-02-11 16:22:42 +01:00
Matthias Koefferlein
4a89304152
Merge branch 'master' into wip2
2024-02-11 14:23:47 +01:00
Matthias Köfferlein
df59641cad
Issue 1609 ( #1613 )
...
* Fixed issue #1609 (Cell.read doesn't read LayoutMetaInfo)
This also includes some more functions:
- Layout#merge_meta_info, Layout#copy_meta_info
- Layout#clear_all_meta_info
- Cell#merge_meta_info, Cell#copy_meta_info
In addition, meta info is merged when importing a layout from
another file (Layout/Import -> Other Layouts into current).
* Meta info support in layout diff (for testing), implemented meta info merge for GDS and OASIS readers with special conflict resolution modes
* Undo support for meta info - this way we do not loose meta info when we delete a cell and undo
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:32:56 +01:00
Matthias Koefferlein
7634c77c23
Generalization of polygon rasterizer to DPolygon for higher precision of pixel area values.
2024-01-28 23:18:49 +01:00
Matthias Koefferlein
596c6c0aac
Grayscale rasterizer for Region
2024-01-28 22:27:02 +01:00
Matthias Koefferlein
8d6125dd74
More processors and tests
2024-01-28 15:57:01 +01:00
Matthias Koefferlein
ce88affa67
EdgePairs generic processor
2024-01-26 16:09:01 +01:00
Matthias Koefferlein
b7277631c3
Renaming of 'processor' to 'operator' to avoid name clash with EdgeProcessor, added edge operators.
2024-01-26 15:19:44 +01:00
Matthias Koefferlein
bbb535a0bf
Tests for polygon-to-edge and polygon-to-edge-pair processors
2024-01-26 13:09:48 +01:00
Matthias Koefferlein
1a126ede45
Generic polygon to polygon processors
2024-01-26 13:05:09 +01:00
Matthias Koefferlein
9fbc926d67
Generic filters also for edge pair, edge and text collections
2024-01-26 11:49:15 +01:00
Matthias Koefferlein
b34f539fe1
Generic filter for polygons
2024-01-25 23:10:12 +01:00
Matthias Koefferlein
139010686d
Fixed unit tests for non-Qt case
2024-01-24 00:38:38 +01:00
Matthias Koefferlein
9a52095dd0
Merge branch 'master' into wip
2024-01-07 17:25:11 +01:00
Matthias Koefferlein
0ae2ed49f8
Merge branch 'master' into wip
2024-01-06 17:28:51 +01:00
Matthias Köfferlein
3143b54bd9
Merge pull request #1588 from KLayout/issue-1586
...
Implementation of fix for issue #1586
2024-01-06 11:30:36 +01:00
Matthias Koefferlein
f476416ce1
Added tests
2024-01-05 23:47:46 +01:00
Matthias Koefferlein
88c3d30982
Implemented solution for issue #1583
...
- new attribute "title" for MainWindow to get and set title
(includes extrapolation to add dynamic content)
- also added LayoutView#is_dirty for emulation of the
standard behavior
- plus side effect: LayoutView#synchronous is now readable
2024-01-05 19:40:09 +01:00
Matthias Koefferlein
d9c2c6d568
Unit test compatibility with 64bit coordinate builds
2024-01-03 02:05:06 +01:00
Matthias Koefferlein
2b4a583f05
Update copyright year
2024-01-01 17:27:59 +01:00
Matthias Koefferlein
d248bfddf3
Updating copyright to new year
2024-01-01 17:06:23 +01:00
Matthias Koefferlein
f335ab69af
More compatibility with Ruby <2.7
2023-12-29 23:00:06 +01:00
Matthias Koefferlein
6ceb77cf73
Trying to fix the ambiguity issue in Ruby < 3.0 with hash arguments vs. keyword arguments
2023-12-28 21:53:38 +01:00
Matthias Koefferlein
e2ba78185c
Tests for GSI kwargs, test framework enhanced to print the total number of tests
2023-12-28 19:44:44 +01:00
Matthias Koefferlein
940ef5319a
WIP: refinement of Python and Ruby support for keyword arguments.
2023-12-27 22:56:11 +01:00
Matthias Koefferlein
8f9b904d87
WIP: keyword arguments for Ruby
2023-12-27 22:17:39 +01:00
Matthias Koefferlein
d1695b88af
Merge branch 'wip'
2023-12-23 18:05:54 +01:00
Matthias Köfferlein
3533adf8ab
Merge pull request #1554 from KLayout/issue-1549
...
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-08 07:25:51 +01:00
Matthias Koefferlein
b6d3f8be93
Added Edge#euclidian_distance
2023-12-07 23:09:04 +01:00
Matthias Koefferlein
d5f484bf92
Added EdgePair#distance
2023-12-05 22:09:57 +01:00
Matthias Koefferlein
c05f7c8bd9
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-02 19:00:43 +01:00
Matthias Koefferlein
8da6a131e8
Merge branch 'master' into wip2
2023-11-26 22:19:37 +01:00
Matthias Köfferlein
3b83230de0
Merge pull request #1546 from KLayout/issue-1530
...
Issue 1530 - size-2 tuples for points
2023-11-26 22:18:52 +01:00
Matthias Koefferlein
2b93dc2dc7
Implemented implicit constructor from array/tuples also for Ruby
2023-11-26 09:55:29 +01:00
Matthias Koefferlein
ef9d73f178
Experimental: calling str(x) implicitly in RBA and pya
2023-11-26 09:28:24 +01:00
Matthias Koefferlein
0ea2610bf4
Reworking technology API a little: providing a way to register a new technology object, clarification of doc
2023-11-25 16:56:56 +01:00
Matthias Koefferlein
6e589e2bb3
Fixed issue #1533 (KLayout crashing with two consecutive calls of the same LayoutView::show_layout command)
2023-11-19 21:14:32 +01:00
Matthias Koefferlein
1e09bee1b6
Fixed issue #1534 (Layout::dup does not copy properties)
2023-11-19 20:48:44 +01:00
Matthias Koefferlein
261d0249e8
Merge branch 'wip'
2023-10-19 21:23:07 +02:00
Matthias Koefferlein
579f5ffca4
Doc updates
2023-09-25 23:33:15 +02:00
Matthias Koefferlein
27f67cf9c2
Added tests
2023-09-24 22:27:23 +02:00