Matthias Koefferlein
dc9b3bb398
More consistent handling of special paths (like data: URLs) for technology components.
2024-11-23 19:19:23 +01:00
Matthias Koefferlein
1c23d77073
By default, layer properties are initialized when no .lyp file is specified in a technology
...
You can turn this feature off by disabling the "Initialize other layers with default properties"
option on the techology's "General" page.
2024-11-23 15:19:33 +01:00
Matthias Koefferlein
983611172c
Fixed some icons (navigation icons in netlist browser, edit icon in package manager)
2024-11-22 23:30:45 +01:00
Matthias Koefferlein
abe578562f
Extended (transient) selection config
...
- Line style can be configured for selection + transient selection
- Transient selection has it's own styles
2024-11-21 23:10:59 +01:00
Martin Köhler
7dcba4cebc
Bugfix/issue 1930: Fixed type from char to int
2024-11-19 17:23:06 +00:00
Matthias Koefferlein
476ec3a714
Implemented solution for #1923 ('move', 'moved')
...
1. Added move and moved to Point and DPoint
2. dx/dy is 0 by default now
3. arguments of move and moved are called
v (vector) and dx/dy consistently
2024-11-17 22:04:28 +01:00
Matthias Koefferlein
85caa4b397
Fixed issue #1925 (MAGIC import fails)
2024-11-17 21:42:29 +01:00
Matthias Koefferlein
0f438cdbd2
On same name, creating a RDB category would return the original one.
2024-11-13 18:26:06 +01:00
Matthias Koefferlein
fecb8a8c8a
RDB tests for Python too
2024-11-13 18:22:55 +01:00
Matthias Koefferlein
105751e2cf
Trying to become compatible with Python 3.13 on Windows
2024-11-13 00:47:27 +01:00
Robert O'Callahan
db56b0293e
Add a Layout.read_bytes() method that reads a layout from a byte array in Python or Ruby.
...
This is much more convenient and a bit more efficient than writing the bytes
to a temporary file and reading that back in. It's useful when we have received
a layout over the network or embedded in some file.
This makes a copy of the bytes but there doesn't seem to be any way to avoid that
currently.
2024-11-05 03:15:40 +00:00
Matthias Schweikardt
3778ab157f
typos in manual
2024-11-03 09:25:58 +01:00
Matthias Koefferlein
dd0949867f
Some convenience features: transformations in EdgeNeighborhood, added Matrix transformation support for edge pairs.
2024-11-01 17:34:46 +01:00
Matthias Koefferlein
2629700566
RBA tests, reproducible order of edge events, all edges are reported - even those which do not have neighbors.
2024-10-31 23:43:27 +01:00
Matthias Koefferlein
3073c1917f
Some enhancements: internal merging, tests
2024-10-31 22:55:46 +01:00
Matthias Koefferlein
0cca9afc7e
Generalization: providing output functionality.
2024-10-31 21:34:17 +01:00
Matthias Koefferlein
9f2a2075c7
Implementing full support for compound operations in EdgeNeighborhood, including foreign()
2024-10-29 23:18:01 +01:00
Matthias Koefferlein
ac1126f5c4
update documentation
2024-10-29 21:01:31 +01:00
Matthias Koefferlein
cdd7058866
Mitigating the effect of a locked layout: plain iteration of instances now is possible also with a locked layout. Before, the instances were correctly iterated only if the layout could be sorted.
2024-10-27 23:42:16 +01:00
Matthias Koefferlein
946729f14d
Adding forced update to Layout writer to ensure proper files. A warning is given.
2024-10-26 22:46:09 +02:00
Matthias Koefferlein
1407ae13a7
Also provide layout locking for recursive instance iterator
2024-10-26 21:40:41 +02:00
Matthias Koefferlein
0c0baed664
Avoiding a layout lock on Region::empty.
2024-10-26 21:24:01 +02:00
Matthias Koefferlein
a83e58b8de
Solving potential thread collision issues upon Layout::update.
2024-10-26 21:21:28 +02:00
Matthias Koefferlein
049c0b73b0
Debugging, added tests for new recursive shape iterator.
2024-10-25 23:13:40 +02:00
Matthias Koefferlein
bea707a9df
Releasing the lock when the iterator is at end - otherwise a finished iterator could still block the layout (potential Ruby GC issue)
2024-10-25 00:40:42 +02:00
Matthias Koefferlein
c1757c472e
First steps towards fix: locking layout while recursive shape iterator is alive.
2024-10-25 00:36:28 +02:00
Matthias Koefferlein
0d2379ad75
WIP: debugging, added polygon callback for EdgeNeighborhoodVisitor
2024-10-24 17:55:56 +02:00
Matthias Koefferlein
7af91fa2b5
Further debugging
2024-10-23 22:53:16 +02:00
Matthias Koefferlein
f7dde684f0
WIP: some basic debugging
2024-10-23 18:38:26 +02:00
Matthias Koefferlein
46b44e6287
WIP: builds, but not tested yet.
2024-10-21 23:35:34 +02:00
Matthias Koefferlein
422c88207c
WIP
2024-10-21 22:16:16 +02:00
Matthias Koefferlein
a983603dbc
Preparing 0.29.8
2024-10-20 19:57:03 +02:00
Matthias Köfferlein
2d1658cbfa
Merge pull request #1906 from KLayout/issue-1899
...
Issue 1899
2024-10-20 16:50:25 +02:00
Matthias Köfferlein
05c13e66b0
Merge pull request #1904 from KLayout/bugfix/issue-1902
...
Bugfix/issue 1902
2024-10-20 13:28:50 +02:00
Matthias Köfferlein
d5358c87ae
Merge pull request #1903 from KLayout/wip
...
Wip
2024-10-20 13:25:39 +02:00
Matthias Köfferlein
6c82177dfa
Merge pull request #1883 from KLayout/issue-1869
...
Fixed issue #1869 by adding a new option, -to or --top-output to strmxor
2024-10-20 13:22:12 +02:00
Matthias Koefferlein
761388f680
Updating definitions for Qt5 too - some additional operator bindings show up.
2024-10-19 23:15:37 +02:00
Matthias Koefferlein
0328c7e9bd
Updating Qt binding files
2024-10-19 20:35:43 +02:00
Matthias Koefferlein
60294d9226
Implemented solution for issue #1900 (help/about dialog content selectable)
2024-10-19 17:27:56 +02:00
Matthias Koefferlein
c6a9a59247
Maybe fixing second part of issue #1902 .
2024-10-19 17:20:49 +02:00
Matthias Koefferlein
f213e96d4a
Partial fix for issue #1902
2024-10-19 17:12:53 +02:00
Matthias Köfferlein
9cf3c528a3
Merge pull request #1888 from KLayout/issue-1885
...
Fixed #1885
2024-10-19 16:32:42 +02:00
Matthias Köfferlein
6b906b9582
Merge pull request #1889 from KLayout/issue-1877
...
Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via)
2024-10-19 16:31:43 +02:00
Matthias Köfferlein
78ec69f7b7
Merge pull request #1890 from KLayout/issue-1886
...
Issue #1886 fixed (doc update)
2024-10-19 16:31:30 +02:00
Matthias Köfferlein
63dfaccff9
Merge pull request #1891 from KLayout/issue-1887
...
issue #1887 fixed (doc update)
2024-10-19 16:31:12 +02:00
Matthias Koefferlein
dc0f549ab4
Embedding fix for issue #1892 which is closely related to #1877
2024-10-14 23:41:55 +02:00
Matthias Koefferlein
7b7e98d49a
Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via)
2024-10-12 21:44:49 +02:00
Matthias Koefferlein
19b2aea471
Fixed #1885
...
Now, the default of --subst-char in strm2oas is "don't substitute".
You can explicitly specify "don't substitute" using "--subst-char="
(without value).
2024-10-12 21:19:09 +02:00
Matthias Koefferlein
eeb05e47a5
Issue #1886 fixed (doc update)
2024-10-12 21:00:07 +02:00
Matthias Koefferlein
dae0c16bf6
issue #1887 fixed (doc update)
2024-10-12 20:55:17 +02:00
Matthias Koefferlein
8dab13eb42
In DRC, with '@+' as target layout, maintain the original active cell view. This way, DRC can be re-run on the original layout, but each time generating a new output cellview.
2024-10-06 19:08:38 +02:00
Matthias Koefferlein
f25693373e
Small doc update
2024-10-06 19:07:42 +02:00
Matthias Koefferlein
b44ff4b8e8
Avoid a potential hard assertion in debug mode
2024-10-06 19:07:17 +02:00
Matthias Koefferlein
d7abbaca36
Fixed issue #1869 by adding a new option, -to or --top-output to strmxor
2024-10-06 18:33:53 +02:00
Matthias Köfferlein
3167af31c4
Merge pull request #1881 from KLayout/bugfix/issue-1880
...
Enhancing GDS2 writer float conversion such that less rounding occurs
2024-10-06 18:21:26 +02:00
Matthias Köfferlein
71a9e131a1
Merge pull request #1876 from KLayout/issue-1870
...
Bugfix for issue #1870 : do not allow editing on invalid layers
2024-10-06 18:20:45 +02:00
Matthias Koefferlein
1289db7ebd
Enhancing GDS2 writer float conversion such that less rounding occurs
2024-10-04 17:47:37 +02:00
Matthias Koefferlein
4be134e293
LEF/DEF reader recognizes existing layers by name now
...
This is helpful as it assigns layer/datatype numbers
automatically. If only a name is given for a layer
(i.e. "OUTLINE"), it will not match any previously
loaded layer and layer matching goes by layer/datatype
first.
This way, every "reload" added a new "OUTLINE" layer.
2024-10-03 18:50:00 +02:00
Matthias Koefferlein
10baec009c
Bugfix for issue #1870 : do not allow editing on invalid layers
2024-09-28 18:11:53 +02:00
Matthias Koefferlein
0dd7dfb48a
Fixed issue #1874 (crash when copying a cell to another layout)
2024-09-28 17:53:26 +02:00
Matthias Koefferlein
a0b8e4bea1
Updating stubs, DRC documentation
2024-09-22 21:11:21 +02:00
Matthias Koefferlein
4c33032f93
Merge branch 'better-not-break'
2024-09-22 20:08:10 +02:00
Matthias Koefferlein
ec5de7b7f1
Compatibility with Python 3.13.
2024-09-22 02:38:33 +02:00
Matthias Koefferlein
2e58421fb3
Fixed builds without Qt and without libpng
2024-09-22 01:40:03 +02:00
Matthias Köfferlein
2d57feeae8
Merge pull request #1851 from KLayout/bugfix/issue-1832
...
Bugfix/issue 1832
2024-09-21 20:33:53 +02:00
Matthias Köfferlein
ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
...
Wip
2024-09-21 20:33:21 +02:00
Matthias Köfferlein
cb984fb4b5
Merge pull request #1865 from KLayout/bugfix/issue-1864
...
Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy)
2024-09-21 20:32:59 +02:00
Matthias Koefferlein
b194d509cc
Merge branch 'master' of github.com:KLayout/klayout
2024-09-20 23:49:27 +02:00
Matthias Koefferlein
43235a1ac2
Fixed CentOS7 builds
2024-09-20 23:49:16 +02:00
Matthias Koefferlein
5ece4d74ae
Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy)
2024-09-20 23:07:09 +02:00
Matthias Koefferlein
45a2803777
Merge branch 'wip' into better-not-break
2024-09-18 23:54:20 +02:00
Matthias Koefferlein
c6b2dba847
Updating tests
2024-09-18 23:53:51 +02:00
Matthias Koefferlein
a20611b4c0
Skip polygon splitting for triangles and boxes
2024-09-18 23:53:13 +02:00
Matthias Koefferlein
e2718c5a54
Enhancing polygon splitting
...
With this enhancement, the area ratio in DRC can
be configured as a negative value. This indicates
to take the outer manhattan approximation of the
polygons. This way, skinny diagonals are not
resolved into many small triangles.
2024-09-18 23:18:23 +02:00
Matthias Koefferlein
531071765f
Fixed issue #1860 (problem with undo after delete layer)
2024-09-18 19:11:04 +02:00
Matthias Koefferlein
ca9b1d779d
Print file name before warning from stream readers, compress warnings if necessary, add file name to errors
2024-09-16 23:48:30 +02:00
Matthias Köfferlein
ff708186ec
Merge pull request #1855 from KLayout/issue-1853
...
Issue 1853 (slow Cell#write any Layout#write with huge polygons)
2024-09-16 23:24:08 +02:00
Matthias Koefferlein
56e88805a0
Refusing to write files with empty string and to a path that is a directory - the latter would rename the directory and later try to remove it
2024-09-15 17:15:25 +02:00
Matthias Koefferlein
c917831eb0
Fixed issue #1857 (crash when closing window with properties dialog open)
2024-09-15 17:00:31 +02:00
Matthias Koefferlein
491048db4c
Fixed new Python module handling for standalone module case
2024-09-15 16:28:43 +02:00
Matthias Koefferlein
20d599b1de
Mute noisy diagnostics with Python debug builds, avoid post-Finalize Python API access by pre-Finalize cleanup of modules. This avoids an assertion in Python debug builds and is a better style anyway.
2024-09-15 16:28:39 +02:00
Matthias Koefferlein
97dcf0aa0b
Porting polygon generator from std::deque to std::list with support by 'splice' ... should fix the problem
2024-09-14 16:21:07 +02:00
Matthias Koefferlein
16b6328f1c
Fixed new Python module handling for standalone module case
2024-09-14 16:16:58 +02:00
Matthias Koefferlein
f1f3c64ab1
Mute noisy diagnostics with Python debug builds, avoid post-Finalize Python API access by pre-Finalize cleanup of modules. This avoids an assertion in Python debug builds and is a better style anyway.
2024-09-14 15:33:03 +02:00
Matthias Koefferlein
79dd2084ce
tl::list enhancement
2024-09-14 13:52:25 +02:00
Matthias Koefferlein
9e55a664fb
[debug] timers with ns resolution
2024-09-14 10:45:28 +02:00
Matthias Koefferlein
fc729584e1
Maybe std::deque::size was the problem
2024-09-13 23:28:16 +02:00
Matthias Koefferlein
153d1e3541
Trying to improve stability under PCell debugging conditions inside the IDE
2024-09-13 14:31:45 +02:00
Matthias Köfferlein
53b7c985f0
Merge pull request #1849 from KLayout/feature/issue-1836
...
Implemented solution for issue #1836 (Allow the usage of Cell.shapes(…
2024-09-08 22:24:40 +02:00
Matthias Köfferlein
d70389c0c7
Merge pull request #1848 from KLayout/bugfix/issue-1847
...
Fixing bug #1847 (problem with fresh bindkey configuration)
2024-09-08 22:24:08 +02:00
Matthias Köfferlein
b3fd5153fb
Merge pull request #1842 from KLayout/bugfix/issue-1835
...
Bugfix/issue 1835
2024-09-08 22:23:44 +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
68d15e01af
DRC: more variants for layer#insert - labels, DBU-unit types
2024-09-08 19:16:40 +02:00
Matthias Koefferlein
d902f5d53d
Apply property changes before switching tree node in properties editor
2024-09-08 18:48:12 +02:00
Matthias Koefferlein
074238b116
Do not include 'purge_devices' in Netlist#simplify as such devices may be intentionally included as spare or dummy devices. If you want to remove them, use 'purge_devices' on 'netlist' and/or 'schematic'
2024-09-08 17:18:12 +02:00
Matthias Koefferlein
ac2d20ae76
Implemented fix for issue #1832 (enhancements for Netlist#simplify and Netlist#combine_devices)
2024-09-08 00:25:24 +02:00
Matthias Koefferlein
20099a38b9
Fixing second part - small L,R and C were not handled properly
2024-09-08 00:25:18 +02:00
Matthias Koefferlein
4f72d3353f
Fixed new Python module handling for standalone module case
2024-09-08 00:24:56 +02:00
Matthias Koefferlein
1e28e30e71
Mute noisy diagnostics with Python debug builds, avoid post-Finalize Python API access by pre-Finalize cleanup of modules. This avoids an assertion in Python debug builds and is a better style anyway.
2024-09-07 21:27:50 +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