Matthias Koefferlein
0959676b5a
Another shortcut for two-input box scanner, but does not make a large difference
2023-06-09 23:26:49 +02:00
Matthias Koefferlein
d604003e3f
Changing XOR implementation to mapped
...
The previous implementation for two layouts
was based on the twofold traversal of hierarchies
but that is less efficient than first mapping and
then doing the XOR within the single layout.
2023-06-08 19:03:57 +02:00
Matthias Koefferlein
078258bf09
New branch for XOR performance improvement in deep mode
2023-06-06 23:35:40 +02:00
Matthias Koefferlein
9817f12385
Speedup of hierarchy processor (context computation) in case if deeply hierarchical two-input cases
2023-06-04 09:13:20 +02:00
Matthias Koefferlein
5438b9a82f
configuration for debugger scope override
2023-06-03 21:25:30 +02:00
Matthias Koefferlein
2d5c67f74f
Allowing DRC decks with only layout inputs (no default input)
2023-06-01 20:28:17 +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
c3bda162cb
DRC: Added 'write' method to output channels, enabling GC in profile mode to get a more realistic memory usage picture
2023-05-29 01:44:57 +02:00
Matthias Koefferlein
de2ace4be3
GDS2 reader: robustness against some broken files - should not segfault
2023-05-28 23:34:03 +02:00
Matthias Koefferlein
c28fd425db
DRC bugfix
2023-05-28 23:33:32 +02:00
Matthias Koefferlein
7f3950f582
Fixed DRC profile feature
2023-05-28 23:21:14 +02:00
Matthias Koefferlein
2e33cf1442
Added unit tests for new features
2023-05-28 23:14:07 +02:00
Matthias Koefferlein
78dbabcde1
DRC enhancements: bug fixes
2023-05-28 23:02:16 +02:00
Matthias Koefferlein
a582eabc22
DRC: doc updates
2023-05-28 21:57:40 +02:00
Matthias Koefferlein
2882fa42ee
DRC: support multiple outputs through 'new_report', 'new_target'
2023-05-28 21:37:47 +02:00
Matthias Koefferlein
2fdbd9f4ea
WIP: profile feature
2023-05-28 00:49:12 +02:00
Matthias Koefferlein
df9a5e4125
WIP: profile feature in DRC and LVS
2023-05-28 00:13:02 +02:00
Sebastian Goeldi
293590acb0
fix add_meta_info of Layout and Cell
2023-05-25 13:45:46 +02:00
Matthias Köfferlein
fa9e7e7c12
Merge pull request #1379 from KLayout/wip2
...
Wip2
2023-05-23 19:44:49 +02:00
Matthias Koefferlein
c1e0b1a40b
Small update: code patch for fixing debug output
2023-05-21 21:07:43 +02:00
Matthias Koefferlein
01eeee1b76
WIP: simplification, needs testing
2023-05-21 20:20:46 +02:00
Matthias Koefferlein
ca05f59168
WIP: some performance enhancement, but not compatible
2023-05-21 20:02:46 +02:00
Matthias Koefferlein
0400261641
Added testcase for issue-1366
2023-05-20 23:26:20 +02:00
Matthias Koefferlein
44965bf19c
Approx 2x performance improvement of issue-1366 testcase due to more efficient filling of scanline queue
2023-05-20 23:10:03 +02:00
Matthias Koefferlein
c37be0884c
Potential performance fix for issue #1366
2023-05-20 23:10:01 +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
53fa78c01f
Ruby debugger performance boost
...
Problem was that the file-to-id cache was cleared
upon calling internal Ruby functions (begin_exec
was triggered). In one test case, the execution
performance improved from 6s/320s (without/with debugger)
to 6s/7s (without/with debugger)
2023-05-18 19:43:44 +02:00
Matthias Koefferlein
ba0aaef132
Merge branch 'master' into wip2
2023-05-18 19:00:24 +02:00
Matthias Koefferlein
bd33640471
Merge branch 'master' of github.com:KLayout/klayout
2023-05-18 19:00:01 +02:00
Matthias Koefferlein
f31efad0ef
Removed a duplicate QLayout on the LayoutView
2023-05-18 16:09:06 +02:00
Matthias Koefferlein
3e60aabe7a
Fixed issue #1373 (shapes with user properties are skipped from second input of flat region's '+' operator)
2023-05-14 22:48:31 +02:00
Matthias Koefferlein
b30837411e
Merge branch 'master' into wip2
2023-05-14 18:34:17 +02:00
Matthias Koefferlein
8f25c3470d
Small enhancement to 'decompose_convex' with the goal to avoid thin slivers
2023-05-14 18:33:53 +02:00
Matthias Köfferlein
ae07629599
Merge pull request #1372 from KLayout/issue-1219
...
Solved issue #1219 : 'close' button works now in macro IDE, printing n…
2023-05-14 00:02:09 +02:00
Matthias Köfferlein
5c55e2736a
Merge pull request #1371 from KLayout/issue-1348
...
Implemented a solution for issue #1348 (Reload Files popup prevents c…
2023-05-14 00:01:55 +02:00
Matthias Köfferlein
8423616db2
Merge pull request #1370 from KLayout/issue-1324
...
Implemented fix for issue #1324
2023-05-14 00:01:33 +02:00
Matthias Köfferlein
fe0a3dd20e
Merge pull request #1369 from KLayout/issue-1357
...
Implemented fix for issue #1357 (RBA/pya binding for QObject#findChil…
2023-05-14 00:01:16 +02:00
Matthias Köfferlein
570d1a36f6
Merge pull request #1368 from KLayout/issue-1345
...
Fixed issue-1345 (feature request: create a def single/mulitpart path…
2023-05-14 00:00:59 +02:00
Matthias Koefferlein
67db8dfc96
Trying to fix Qt4 builds
2023-05-13 19:41:37 +02:00
Matthias Koefferlein
d40ed70fb9
Implemented a solution for issue #1348 (Reload Files popup prevents closing KLayout): now the reload notification is shown as a notification bar at the top of the layout view
2023-05-13 18:44:20 +02:00
Matthias Koefferlein
8704fa1b86
Solved issue #1219 : 'close' button works now in macro IDE, printing name of macro which is run to avoid confusion between 'run current' and 'run this'
2023-05-13 16:04:42 +02:00
Matthias Koefferlein
33d16a1e28
Implemented fix for issue #1324
2023-05-13 15:34:11 +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 Köfferlein
7169910607
Merge pull request #1362 from KLayout/issue-1360
...
Fixed issue #1360 (LayoutViewBase not promoted to LayoutView). Proble…
2023-05-12 23:31:41 +02:00
Matthias Köfferlein
641d2404d2
Merge pull request #1358 from KLayout/wip2
...
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein
f25d20be20
[bugfix] making 'R', 'L' and 'C' parameters too for the respective Spice elements (beside 'value')
2023-05-11 23:40:20 +02:00
Matthias Koefferlein
da52eeb7c3
Fixed text bbox computation under the presence of global view transformations and 'apply text transformation' false
2023-05-11 20:05:28 +02:00
Matthias Koefferlein
424c039b7e
More precise testing of edges on mouse hit - without this patch, the selected objects in dense regions are not at the mouse pointer's tip, but somewhat away
2023-05-11 19:03:41 +02:00
Matthias Koefferlein
1422dfb93d
Bugfix, text reference made the program assert
2023-05-11 18:57:24 +02:00
Matthias Koefferlein
c45d1d70d4
Debugging
2023-05-09 23:16:03 +02:00
Matthias Koefferlein
c6f159d720
Adding frame to text display, debugging
2023-05-09 22:36:56 +02:00
Matthias Koefferlein
45394b801a
Debugging TextInfo, added tests
2023-05-09 21:37:15 +02:00
Matthias Koefferlein
df7311ddf7
Fixed issue #1360 (LayoutViewBase not promoted to LayoutView). Problem was that GSI binding of LayoutView happened before LayoutView was fully constructed.
2023-05-09 20:06:34 +02:00
Matthias Koefferlein
89177b5ffd
Fixed a build issue on Qt <5.15
2023-05-09 19:01:16 +02:00
Matthias Koefferlein
0b0f62130c
WIP: refactoring, debugging needed
2023-05-07 23:29:02 +02:00
Matthias Koefferlein
e8048d6686
WIP: preparations - introducing TextInfo
2023-05-07 19:51:15 +02:00
Matthias Koefferlein
7b4ff5d823
Zoom in/out menu functions now use mouse position for zoom center instead of center (if mouse is inside window)
2023-05-06 21:40:36 +02:00
Matthias Koefferlein
7ff9b4d8e6
[consider merging] more consistent behavior of RBA/pya: enum classes are properly made available (was for example RBA::Qt::Qt_Keys instead of RBA::Qt_Keys and pya.Qt.Keys was no fully initialized type object)
2023-05-06 00:04:14 +02:00
Matthias Koefferlein
5fd54fa40a
Netlist reader: anonymous circuits are not checked for known parameters
2023-05-06 00:00:56 +02:00
Matthias Koefferlein
67276c4922
Merge branch 'enhanced-meta-info' into wip2
2023-05-05 23:22:33 +02:00
Matthias Koefferlein
d531418ad2
Layout statistics form - caching, refactoring, printing statistics for 'all' shapes
2023-05-05 23:20:03 +02:00
Matthias Köfferlein
0bc97df381
Merge pull request #1355 from KLayout/issue-1349
...
Fixed issue-1349 (Add application events for indicating start/finish …
2023-05-05 23:12:53 +02:00
Matthias Koefferlein
4afa029297
Partial edit mode fixes
...
- do not remove last point of closed paths
- fixed removal of redundant points in polygon/path edit
- on-grid point insertion in paths and polygons for skew angle edges
2023-05-05 23:05:49 +02:00
Matthias Koefferlein
2e4153c04a
Some more enhancements for search & replace in macro editor
2023-05-03 21:38:10 +02:00
Matthias Koefferlein
71487af411
Some fixes for macro editor
...
- added missing icons for back/forward
- trying to improve behavior or find, search&replace
- fixed tool tips of buttons
- Ctrl-R, Ctrl+Shift+R for replace and "replace all"
2023-05-03 00:22:39 +02:00
Matthias Koefferlein
7bdc8efc81
Displaying meta info in user properties dialog box for information
...
Copy of meta info from cell to other layout now preserves names.
In addition two bugs have been fixed:
* Display of meta info for layout on statistics page did not show description
* ghost cell status now is copied on cell copy
2023-05-02 21:48:13 +02:00
Matthias Koefferlein
9690c5d1bc
Merge branch 'master' into enhanced-meta-info
2023-04-30 14:59:38 +02:00
Matthias Koefferlein
3bc14e1e79
Fixed issue-1345 (feature request: create a def single/mulitpart path import option)
...
The option is called "--lefdef-joined-paths" for strm* buddy tools
and "joined_paths" for pya/RBA.
Wires with multiple segments are combined into long paths when
possible - this fails on anisotropic widths and 45 degree segments.
2023-04-30 14:47:52 +02:00
Matthias Koefferlein
08570aeae8
Fixed issue-1349 (Add application events for indicating start/finish of restoring session)
...
The new events are called
* MainWindow#on_session_about_to_be_restored
(called before the session is restored)
* MainWindow#on_session_restored
(called after the session was restored)
2023-04-30 13:49:06 +02:00
Matthias Koefferlein
ffd47e1341
Fixed issue-1353 (problem with recursive instance iterator)
2023-04-29 23:28:20 +02:00
Matthias Koefferlein
707ebc4114
Copying meta information of cells on various occasions too (e.g. clipboard copy & paste)
2023-04-29 23:27:42 +02:00
Matthias Koefferlein
c8d97871fd
Enabling build of version agnostic plugins
2023-04-22 21:26:39 +02:00
Matthias Koefferlein
34d147f1ce
Fixed LVS doc
2023-04-22 15:28:55 +02:00
Matthias Koefferlein
70b6306635
Tests for complex data for meta info, doc updates
2023-04-22 00:16:12 +02:00
Matthias Koefferlein
d9e0d107b1
Bug fixes, RBA tests for meta info
2023-04-21 23:33:42 +02:00
Matthias Koefferlein
d1f962a228
Implementing meta data persistency also with strict OASIS and forward references
2023-04-20 23:47:47 +02:00
Matthias Koefferlein
bc30887488
Include table-at-end tests for OASIS writer/reader
2023-04-19 23:49:01 +02:00
Matthias Koefferlein
551a80b70b
Preparing OASIS test mode for forward references
2023-04-19 23:28:38 +02:00
Matthias Koefferlein
56fbba60c1
Debugging & testing
2023-04-19 01:22:46 +02:00
Matthias Koefferlein
3361802a20
Tests and bugfixing for meta info persistence in OASIS + GDS
2023-04-19 00:51:11 +02:00
Matthias Koefferlein
b35113b80e
Bugfix.
2023-04-18 22:52:05 +02:00
Matthias Koefferlein
b36eb04afa
Meta info persistency also for OASIS
2023-04-18 22:34:11 +02:00
Matthias Koefferlein
78da3effa2
Next steps - persistency of meta info
2023-04-18 21:24:26 +02:00
Matthias Koefferlein
b14c630ce9
Scheduling update for 0.28.8
2023-04-16 21:40:53 +02:00
Matthias Koefferlein
541f9a377f
Small refactoring, added persisted flag for meta info
2023-04-16 21:31:25 +02:00
Matthias Koefferlein
1a0542f155
Fixed two compiler warnings of hidden virtual methods
2023-04-16 21:31:02 +02:00
Matthias Koefferlein
df4221cfc9
First features to support cell meta data
2023-04-16 20:25:30 +02:00
Matthias Köfferlein
5083e6e45e
Merge pull request #1340 from KLayout/issue-1339
...
Added a method 'widget' to LayoutView to deliver the QWidget object f…
2023-04-16 15:09:28 +02:00
Matthias Köfferlein
d560027790
Merge pull request #1334 from KLayout/issue-1327
...
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-13 22:55:02 +02:00
Matthias Köfferlein
31b34eeb8c
Merge pull request #1333 from KLayout/issue-1328
...
Fixed issue #1328 (width of layer selection boxes too small)
2023-04-13 22:54:48 +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 Köfferlein
fc014efe80
Merge pull request #1331 from KLayout/issue-1321
...
Implemented tilde expansion, internal stream path names are now absol…
2023-04-13 22:54:12 +02:00
Matthias Koefferlein
dc689e52d1
Added a method 'widget' to LayoutView to deliver the QWidget object for the view
2023-04-13 22:50:58 +02:00
Matthias Koefferlein
317617a14a
Fixed unit tests for Windows
2023-04-08 09:08:31 +02:00
Matthias Koefferlein
015263fb0e
Trying to fix unit test fails
2023-04-07 17:34:23 +02:00
Matthias Koefferlein
9c1da8d3e1
Fixed issue #1328 (width of layer selection boxes too small)
...
Also: clip and fill dialog now display layer names from
the layer view. Fixed geometry of fill dialog.
Hope I got all places where the layer selection box was
configured as adjust size = on first show.
2023-04-07 11:44:20 +02:00
Matthias Koefferlein
63a4fe8d77
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-07 10:59:30 +02:00
Matthias Koefferlein
30d2992f56
Issue #1322 (Net tracer tech component manipulation methods)
2023-04-07 10:20:17 +02:00
Matthias Koefferlein
0802bc845d
Extended unit test
2023-04-07 10:07:26 +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
02e9f605d9
Implemented .lib for Spice reader - issue #1320
2023-03-24 14:31:49 +01:00
Matthias Koefferlein
a39441cdbd
Some alignment of Spice reader details with ngspice (not all possible ways of specifying R, L or C elements are supported currently)
2023-03-24 13:29:14 +01:00
Matthias Koefferlein
b979219007
Fixed previous implementation - was not fully effective
2023-03-16 20:06:07 +01:00
Matthias Koefferlein
178cb29773
Fixed a function call typo
2023-03-16 10:05:36 +01:00
Matthias Koefferlein
1182979a5c
Fixed issue #1315 (Cannot export layers from Marker Browser in viewer mode)
2023-03-15 23:35:39 +01:00
Matthias Koefferlein
2166f2bb21
Some memory optimization potential with tiled processor to improve XOR memory footprint (box-like polygons stored as boxes, polygon references)
2023-03-15 23:22:04 +01:00
Matthias Koefferlein
ffbcfc5490
Trying to reduce memory overhead of tiling processor - using box objects when possible
2023-03-12 22:10:49 +01:00
Matthias Koefferlein
bcaefefded
Cleanup of box scanner implementation
2023-03-12 19:45:39 +01:00
Matthias Koefferlein
741c9d9ac5
Performance enhancement of flat space DRC in some cases
2023-03-12 19:45:24 +01:00
Matthias Koefferlein
55dbf85b4b
Some refactoring of Spice reader with the goal to simplify delegate implementation, removing static instance of default delegate
2023-03-12 17:03:15 +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
6955d7d0c7
Better handling of inputs in deep mode after manipulating the hierarchy of the input layout
2023-03-12 00:26:18 +01:00
Matthias Koefferlein
047455c560
Merge branch 'master' into wip2
2023-03-12 00:10:23 +01:00
Matthias Koefferlein
5a1e845a64
[consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names)
2023-03-11 19:56:02 +01:00
Matthias Koefferlein
ebac0796e0
[consider merging] Fixed Qt Binding for Qt 5.15.2 where an include is missing
2023-03-11 19:55:59 +01:00
Matthias Koefferlein
bee3d11f62
[consider merging] avoid an assertion in the Python exit code for accessing an already destroyed Python object
2023-03-11 19:55:51 +01:00
Matthias Koefferlein
be0d155848
Fixed issue #1309
...
Fixed polygon rasterizer.
Reason was the clip edge function that delivered
vertical edges from skew ones due to rounding.
These must not be skipped when exactly on a pixel
boundary as true vertical edges are.
2023-03-04 22:20:06 +01:00
Matthias Koefferlein
feb50f49dd
Enabling some more PNG related features by falling back to Qt without libpng
2023-03-04 20:32:44 +01:00
Matthias Köfferlein
2facc75807
Merge pull request #1305 from KLayout/issue-1304
...
Fixed issue #1304 (terminal order for MOS devices)
2023-03-04 19:32:46 +01:00
Matthias Köfferlein
f413635deb
Merge pull request #1303 from KLayout/issue-1302
...
Implemented solution for issue #1302 (Select filter is not applied in…
2023-03-04 19:32:29 +01:00
Matthias Köfferlein
addb7148f6
Merge pull request #1301 from KLayout/wip
...
Wip
2023-03-04 19:32:06 +01:00
Matthias Köfferlein
3e325763d9
Merge pull request #1296 from KLayout/issue-1271
...
Issue 1271
2023-03-04 19:31:39 +01:00
Matthias Koefferlein
1b13d8b591
Merge branch 'master' into issue-1271
2023-03-03 18:42:53 +01:00
Matthias Koefferlein
9335ef8c21
Fixed builds on MSVC
2023-03-03 18:00:24 +01:00
Matthias Koefferlein
6db6e77458
Tired of patching around __version__ ...
...
This doesn't work. Either Python is too old, import_metadata
isn't there or Azure pipelines do not support that.
Stopping that. Good old plain C++ is still the best solution.
Take that dynamic language hackers!
2023-03-01 00:50:30 +01:00
Matthias Koefferlein
4ead7b46a1
Test updates
2023-02-27 21:27:19 +01:00
Matthias Koefferlein
2236ced5ae
Refining solution for issue-1249: properly reading the edge we project to in single-edge partial move mode
2023-02-27 20:49:45 +01:00
Matthias Koefferlein
af647e2efd
Test updates
2023-02-27 19:37:59 +01:00
Matthias Koefferlein
1ce221794b
More test data updates
2023-02-27 01:08:37 +01:00
Matthias Koefferlein
ceb82a15d8
Fixed merge issues
2023-02-27 00:27:23 +01:00
Matthias Koefferlein
ebcf242a9e
Merge branch 'more-spice' into issue-1304
2023-02-27 00:21:20 +01:00
Matthias Koefferlein
69d975c736
Update to test data
2023-02-27 00:19:14 +01:00
Matthias Koefferlein
0fa9bc6e2b
Fixed issue #1304 (terminal order for MOS devices)
2023-02-26 23:30:17 +01:00
Matthias Koefferlein
90cf06b3ac
More precise help text for generic reader options.
2023-02-26 21:57:04 +01:00
Matthias Koefferlein
3ac1385d87
Another testcase for Spice reader with parametric subcircuits, .param statements, bug fixes
2023-02-26 21:31:34 +01:00
Matthias Koefferlein
2e3c859cd3
Specified release version for Spice reader enhancements
2023-02-26 19:52:05 +01:00
Matthias Koefferlein
82b372ab14
Implemented solution for issue #1302 (Select filter is not applied in partial mode)
2023-02-26 17:07:04 +01:00
Matthias Koefferlein
04626f9c2b
python module: import klayout.lay implies klayout.db now to always enable stream readers
2023-02-25 12:14:19 +01:00
Matthias Koefferlein
a3ff671eb9
Python debugger compatible with PyQt
...
Problem was that PyQt generates spontaneous Python events
that do not originate from KLayout itself. This made the
IDE detect a stop request and the application crashed.
2023-02-23 17:07:41 +01:00
Matthias Koefferlein
90b59ca14d
Bugfix - properly removing plugins when they are unregistered (unlikely)
2023-02-23 17:07:22 +01:00
Matthias Koefferlein
08bfbbae81
Test updates
2023-02-22 16:08:48 +01:00
Matthias Koefferlein
d20e4b2128
Bug fixes, adjusted test data
2023-02-22 15:54:28 +01:00
Matthias Koefferlein
be5e16c125
WIP: bug fixing, new test cases
2023-02-22 13:11:30 +01:00
Matthias Koefferlein
44e123f343
WIP: Spice reader - resolve model and net names by variables
2023-02-22 10:20:48 +01:00
Matthias Koefferlein
18f2b57c3d
WIP: generlizing parameter values for spice reader - can be strings too
2023-02-22 10:15:05 +01:00
Matthias Koefferlein
51c4b7ed28
WIP
2023-02-22 09:48:08 +01:00
Matthias Koefferlein
715c7ed282
WIP: rewriting Spice expression parser to support more functions
2023-02-21 18:10:36 +01:00
Matthias Koefferlein
b421f1e499
WIP: added tests for variant fuzzy compare
2023-02-21 16:05:45 +01:00
Matthias Koefferlein
e709218db9
WIP: fuzzy compare for tl::Variant with float values
2023-02-21 15:57:54 +01:00
Matthias Koefferlein
80fa7e47e2
WIP: tests pass
2023-02-21 00:49:23 +01:00