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
Matthias Koefferlein
2a85ae8e5c
Added tests
2023-09-24 21:33:28 +02:00
Matthias Koefferlein
6412c534b8
Updated tests
2023-09-24 19:01:30 +02:00
Matthias Koefferlein
2c2fbea94f
Some useful aliases for RBA as in-place operators do not really do what they are supposed to in Ruby.
2023-08-20 19:15:08 +02:00
Matthias Koefferlein
254015617d
Merge branch 'wip' into wip2
2023-08-11 19:17:01 +02:00
Matthias Koefferlein
d958d71e2e
Fixed unit tests and MSVC build
2023-08-05 21:02:26 +02:00
Matthias Köfferlein
12169cb11d
Merge pull request #1436 from KLayout/new-image-constructor
...
Added Image constructor from PixelBuffer and QImage
2023-08-01 20:43:01 +02:00
Matthias Koefferlein
aa4eeebfbb
Added Image constructor from PixelBuffer and QImage
2023-07-29 10:34:59 +02:00
Matthias Koefferlein
0f47a9e54d
Refined solution for #1425 (exact match has priority in find_layers), doc updates
2023-07-23 18:19:21 +02:00
Matthias Koefferlein
393aacbcff
Fixed issue #1425 : enhancement - allow searching for layers in layouts by name even if they have layer/datatype
2023-07-23 10:05:20 +02:00
Matthias Koefferlein
b8dc34fc94
Fixed qtbinding tests
2023-07-16 00:05:45 +02:00
Matthias Koefferlein
e965f87f58
Merge branch 'master' into wip
2023-07-15 22:48:53 +02:00
Matthias Koefferlein
01f2868e5d
Fixed issue #1407 (clip does not support polygons with holes)
2023-07-02 22:14:13 +02:00
Matthias Koefferlein
f11500996f
New methods: Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape selector, Shapes#clear with shape selector
2023-05-31 22:49:02 +02:00
Matthias Koefferlein
21a263439f
Added tests for PR #1388
2023-05-25 23:21:59 +02:00
Matthias Koefferlein
331bb5aed4
Fixing a performance issue on hole insertion for polygons with many holes
2023-05-20 23:09:57 +02:00
Matthias Koefferlein
77ce1d4825
Another fix for Qt4
2023-05-13 21:11:41 +02:00
Matthias Koefferlein
6c7064fa23
Implemented fix for issue #1357 (RBA/pya binding for QObject#findChildren)
2023-05-13 01:37:41 +02:00
Matthias Koefferlein
0027bba8c6
Fixed LayoutView test after text selection is no longer confined to text origin points
2023-05-11 23:41:21 +02:00
Matthias Koefferlein
d9e0d107b1
Bug fixes, RBA tests for meta info
2023-04-21 23:33:42 +02:00
Matthias Köfferlein
69097bbf04
Merge pull request #1332 from KLayout/issue-1322
...
Issue #1322 (Net tracer tech component manipulation methods)
2023-04-13 22:54:29 +02:00
Matthias Koefferlein
015263fb0e
Trying to fix unit test fails
2023-04-07 17:34:23 +02:00
Matthias Koefferlein
30d2992f56
Issue #1322 (Net tracer tech component manipulation methods)
2023-04-07 10:20:17 +02:00
Matthias Koefferlein
19fbc5c144
Implemented tilde expansion, internal stream path names are now absolute, fixed tests
2023-04-07 00:19:10 +02:00
Matthias Koefferlein
acd9d6b8c5
Backward compatibility to Qt 5.12.8 and 5.12.11, fixed some test fails for Qt4
2023-03-26 22:47:56 +02:00
Matthias Koefferlein
fa61f96194
GSI: enabling enums as hash keys and int(enum) in Python
2023-03-26 17:52:33 +02:00
Matthias Koefferlein
1ac8ad0739
Testdata added
2023-03-26 14:21:51 +02:00
Matthias Koefferlein
79ad6b3fae
Qt binding: Removing ambiguitiy between QLatin1String and const char *
2023-03-26 00:56:01 +01:00
Matthias Koefferlein
494d52b40f
Make Ruby LayoutView test robust against display properties of the virtual layout view
2023-03-26 00:18:24 +01:00
Matthias Koefferlein
31aa45dce4
Qt5 binding enhancements
...
- Based on Qt 5.12.12 now (tested to build on 5.15)
- QImage constructor with binary data
- More classes, specifically QLibraryInfo for Qt version
- QLayout and derivatives take ownership over widgets added
2023-03-25 22:54:54 +01:00
Matthias Koefferlein
fd0c60761f
Merge branch 'master' into wip
2023-03-24 15:56:48 +01:00
Matthias Koefferlein
db8f9d5bcb
Spice reader enhancements
...
Basic goal is to align ngspice and KLayout Spice
format comprehension. ".options scale" was implemented
together with a number of other patches.
Consistency has been confirmed with respect to these
features and formula evaluation.
2023-03-12 15:36:50 +01:00
Matthias Koefferlein
9cfc284b8c
Synonyms: connect/disconnect for events to get closer to PyQt5
2023-03-06 23:04:55 +01:00
Matthias Koefferlein
d20e4b2128
Bug fixes, adjusted test data
2023-02-22 15:54:28 +01:00
Matthias Koefferlein
432b542f3c
Merge branch 'master' into wip
2023-02-19 20:30:49 +01:00
Matthias Koefferlein
817bb396f6
PNG support for PixelBuffer taken from Qt also if Qt bindings are off
2023-02-19 20:25:21 +01:00
Matthias Koefferlein
f6edc9c802
Implemented solution for issue #1249 (persist layer properties in session)
2023-02-17 23:41:36 +01:00
Matthias Koefferlein
cfd21d98bf
Merge branch 'issue-1259'
2023-01-26 12:52:23 +01:00
Matthias Koefferlein
7600eac8a0
Fixed issue-1259
2023-01-24 21:14:36 +01:00
Matthias Koefferlein
69a2ac107b
One bug fix, made tests more robust and compatible with MSVC
2023-01-22 16:17:13 +01:00
Matthias Koefferlein
f329f91300
WIP: bug fixing, test for GSI binding of checks with property constraints
2023-01-19 23:27:31 +01:00
Matthias Koefferlein
4cd6c5e03b
WIP: unit tests for GSI boolean with properties binding
2023-01-19 22:50:07 +01:00
Matthias Koefferlein
83aaca4485
WIP: unit tests for GSI binding of Region#net
2023-01-19 22:11:40 +01:00
Matthias Koefferlein
d79dfec255
Fixed unit tests in non-Qt case
2023-01-12 18:48:43 +01:00
Matthias Koefferlein
500fee3ff6
Fixed issue #1245 by using a smarter implementation for the backward compatibility fallback. Added unit tests and new (old) GSI bindings for that purpose.
2023-01-11 23:31:09 +01:00
Matthias Koefferlein
ef6f3f182a
Fixed issue #1242 (KLayout 0.28.2 crashes when registering a plugin if a layout exists)
...
Problem was twofold: first, events are triggered during
construction of the plugin which met an uninitialized
pointer. Second, the clearing of existing plugins failed
because of iterating a vector while destroying it's members
erased member of it.
2023-01-04 21:17:12 +01:00
Matthias Koefferlein
a85dbd3d31
Updating copyright notice to 2023
2023-01-01 22:27:22 +01:00
Matthias Koefferlein
048f7a0bff
Fixed unit tests
2022-12-09 19:04:01 +01:00
Matthias Koefferlein
0c89d8fec8
WIP: points as db objects - added tests, bug fixes
2022-12-04 19:54:29 +01:00
Matthias Koefferlein
30ab1a13ca
Added tests, documentation, doc bug fixes for angle-class edge selectors
2022-11-12 18:16:57 +01:00
Matthias Koefferlein
462976fc05
Convenience isotropic versions for Box::enlarge(d)
2022-11-10 22:31:13 +01:00