Matthias Koefferlein
c532a3a7e6
WIP
2024-03-02 19:32:51 +01:00
Matthias Koefferlein
ebc96d8de4
[consider merging] Bugfix: 'edge outside polygon' now consistently ignores the border of the polygon
2024-03-02 19:32:33 +01:00
Matthias Koefferlein
c5433a349a
WIP
2024-03-02 17:55:13 +01:00
Matthias Koefferlein
863935d664
WIP
2024-03-02 17:28:09 +01:00
Matthias Koefferlein
df3205282d
WIP
2024-03-02 16:57:23 +01:00
Matthias Koefferlein
1e323a0421
WIP
2024-03-01 23:32:22 +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
5187ddbfc0
Do not insert the same point twice into edge set in EdgeProcessor - this improves performance in the case of manifold intersecions in one point. Also: added edge count API
2024-02-17 21:20:24 +01:00
Matthias Koefferlein
4ed64fdfa1
GSI binding for tech specific grids
2024-02-16 15:19:32 +01:00
Matthias Koefferlein
1094fd2dd8
Merge branch 'master' into tech-specific-grids
2024-02-16 15:02:52 +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
4a89304152
Merge branch 'master' into wip2
2024-02-11 14:23:47 +01:00
Matthias Köfferlein
f37e37340c
Issue 1608 ( #1615 )
...
* Fixed issue #1608 (Device extractor error shape)
* New test data
* Add-on: pressing Esc on the netlist or marker browser clears markers
* Updated test data
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:34:21 +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
babf799016
[consider merging] OASIS Reader: error on duplicate CELLNAMEs
2024-02-10 18:45:56 +01:00
Matthias Koefferlein
dd9d2bfddd
First proposal for feature
2024-02-03 22:42:21 +01:00
Matthias Koefferlein
c4fee2cbc4
Fixed a linker issue
2024-01-28 23:51:37 +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
c1394eadef
Disabled assignment and copy for operators and filter objects
2024-01-28 16:14:53 +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
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
2dca4158f2
Some refactoring.
2024-01-26 10:30:03 +01:00
Matthias Koefferlein
0b77ef996b
Removed unneccessary code
2024-01-25 23:27:39 +01:00
Matthias Koefferlein
b34f539fe1
Generic filter for polygons
2024-01-25 23:10:12 +01:00
Matthias Koefferlein
6ad1f3f73f
Fixed a numerical issue leading to an infinite loop on some compilers
2024-01-23 16:31:46 +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 Koefferlein
f26fac58fd
Implementation of fix for issue #1586
...
- the "to_dtrans" now behaves as expected
- the conversion constructors have been generalized by adding a 'dbu' argument
- the conversion constructors now are favoured instead of the to_xxx functions
- some of the to_xxx functions are ill-named and are deprecated
2024-01-05 23:24:50 +01:00
Matthias Koefferlein
d9f41c1585
Now fixing unit tests for 32bit coordinates :(
2024-01-04 16:43:27 +01:00
Matthias Koefferlein
5e096bd433
Fixing unit tests for 64 bit coordinates
2024-01-04 00:33:21 +01:00
Matthias Koefferlein
38de2d685f
Fixed 64bit coordinate mode: numerical stability for DRC and LVS enabling. Main problem is representation of the 'world' box which does not transform properly when going through double.
2024-01-03 01:57:27 +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
11fbad0104
eliminating some unnamed arguments
2023-12-28 21:35:14 +01:00
Matthias Koefferlein
f685fe3adf
WIP: keyword arguments for expressions
2023-12-28 01:03:21 +01:00
Matthias Koefferlein
702bcbe924
WIP: keyword arguments (for now: Python) + transformation alignment
...
pya.CplxTrans and pya.Trans are good classes for testing the
ability to resolve arguments through keyword parameters.
Keyword parameters are introduced to substitute positional
arguments.
2023-12-26 23:27:25 +01:00
Matthias Koefferlein
d1695b88af
Merge branch 'wip'
2023-12-23 18:05:54 +01:00
Matthias Köfferlein
3550d81c6f
Merge pull request #1555 from KLayout/issue-1531
...
Fixed issue #1531 (DEF format not recognized in symlink): use origina…
2023-12-08 07:26:07 +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
3e114bd69c
Fixed doc.
2023-12-08 07:24:46 +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
b701390e6a
Enabling cheats for edges and (implicit) polygon merges
...
DRC "cheats" have not been effective on "size"
for example. Also they have not been effective at
all for edges.
2023-12-03 21:50:03 +01:00
Matthias Koefferlein
caf54bd77b
Fixed issue #1531 (DEF format not recognized in symlink): use original path to determine format
2023-12-02 22:10:31 +01:00
Matthias Koefferlein
c05f7c8bd9
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-02 19:00:43 +01:00
Matthias Koefferlein
0efdbd4ebe
Doc updates
2023-11-26 10:32:26 +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
1e09bee1b6
Fixed issue #1534 (Layout::dup does not copy properties)
2023-11-19 20:48:44 +01:00
Matthias Koefferlein
86c1e6ad2b
Some more refactoring
2023-11-19 00:14:46 +01:00
Matthias Koefferlein
c2df163b8a
Added cell variants to polygon to edge processor
2023-11-18 23:27:20 +01:00
Matthias Koefferlein
dd81fda27d
Refactoring with the goal to reduce the overhead for variant computation
2023-11-18 21:42:24 +01:00
Matthias Koefferlein
b0648e1c45
Experimental: sparse cell variants table
2023-11-18 21:21:00 +01:00
Matthias Koefferlein
d0172d57f3
Further optimization/refactoring
2023-11-18 19:12:13 +01:00
Matthias Koefferlein
06afaf8692
Some refactoring
2023-11-18 18:57:08 +01:00
Matthias Koefferlein
877646d959
Debugging sized operator for generic DRC, new tests
2023-11-18 13:40:50 +01:00
Matthias Koefferlein
c368710253
Further bug fixes in generic DRC domain
2023-11-18 12:35:34 +01:00
Matthias Koefferlein
37334d40b9
WIP
2023-11-18 11:09:31 +01:00
Matthias Koefferlein
1b01d6e20a
First version that works with the test case
2023-11-17 00:21:15 +01:00
Matthias Koefferlein
01b65d3699
WIP
2023-11-17 00:13:20 +01:00
Matthias Koefferlein
795aeba322
WIP
2023-11-17 00:11:59 +01:00
Matthias Koefferlein
139723ed5d
Enabling db resource for the '-without-qt' case, specifically the default font
2023-11-12 22:25:53 +01:00
Matthias Koefferlein
969ceb84bb
FEATURE: Added Layout#error_layer.
2023-11-11 23:09:05 +01:00
klayoutmatthias
fcfc69529c
Fixing a static initialization problem on Windows
2023-11-09 22:03:23 +01:00
Matthias Koefferlein
4a152583e8
Trying to fix a problem on Windows
2023-11-09 21:56:55 +01:00
Matthias Köfferlein
041fb53d04
Merge pull request #1518 from KLayout/git-for-packages
...
Git for packages
2023-11-07 21:36:01 +01:00
Matthias Koefferlein
b56220d36d
[consider merging] Functional ut_runner binary also with -without-qt
2023-10-28 23:48:56 +02:00
Matthias Koefferlein
1cf34b0ee9
Merge branch 'wip' of github.com:KLayout/klayout into wip
2023-10-19 21:25:07 +02:00
Matthias Koefferlein
261d0249e8
Merge branch 'wip'
2023-10-19 21:23:07 +02:00
Matthias Koefferlein
72278b90ec
Added 'top_level' feature to tell LVS to perform in top level mode
2023-09-27 21:45:06 +02:00
Matthias Koefferlein
cd5204fdf1
Backwards compatible definition of LogDataEntry#to_s
2023-09-27 21:14:11 +02:00
Matthias Koefferlein
001c2240e2
Highlight error marker from netlist browser
2023-09-26 23:39:46 +02:00
Matthias Koefferlein
883b7e7db8
Fixed category assignement in device extractor
2023-09-26 22:45:13 +02:00
Matthias Koefferlein
b3992ab25c
Simplified test code
2023-09-26 22:18:33 +02:00
Matthias Koefferlein
e71a4dfb92
Simplified test code
2023-09-26 22:13:19 +02:00
Matthias Koefferlein
e9eb8e7ebc
Using categories for device extractor errors
2023-09-26 21:57:50 +02:00
Matthias Koefferlein
2c88f7753d
Bug fix
2023-09-26 21:57:16 +02:00
Matthias Koefferlein
579f5ffca4
Doc updates
2023-09-25 23:33:15 +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
1b4c81ac7b
Rework: unifying device extractor logger entries and LayoutToNetlist ones
2023-09-24 18:16:19 +02:00
Matthias Koefferlein
a5bee51046
Updated tests
2023-09-24 00:07:50 +02:00
Matthias Koefferlein
439e10c982
Bug fixes
2023-09-23 23:58:43 +02:00
Matthias Koefferlein
1fbb907c5b
Fixed some unit tests
...
The flatten test now reduces pins of subcircuits if they
would connect to the same net internally
2023-09-23 23:47:08 +02:00
Matthias Koefferlein
4d41ca6f5c
Fixed tests. Note that now a net with two labels carries a combined net name and does not qualify for connect_implicit if one label matches
2023-09-23 21:44:35 +02:00
Matthias Koefferlein
c81388d830
Updated tests
2023-09-23 17:33:44 +02:00
Matthias Koefferlein
b09d63e780
Doc update, test updates
2023-09-23 00:57:57 +02:00
Matthias Koefferlein
b72dfe34b4
WIP: aligned new implementation better with original one
2023-09-23 00:35:11 +02:00
Matthias Koefferlein
4f3522961e
WIP
2023-09-22 23:35:09 +02:00
Matthias Koefferlein
e56cdaeaab
WIP
2023-09-22 22:59:43 +02:00
Matthias Koefferlein
2f1cbf2e01
WIP
2023-09-22 21:45:34 +02:00
Matthias Koefferlein
1639ffdf34
WIP
2023-09-19 23:42:19 +02:00
Matthias Koefferlein
034a2673d0
Implemented must-connect check
2023-09-19 23:39:02 +02:00
Matthias Koefferlein
e7a8569052
WIP: reimplementing connect_implicit on netlist basis
2023-09-19 23:10:51 +02:00
Matthias Koefferlein
93c570a6f9
[consider merging] Fixed an unitialized pointer
2023-09-17 22:04:36 +02:00
Matthias Koefferlein
1333856337
WIP
2023-09-17 19:58:22 +02:00
Matthias Koefferlein
7c1fd487d6
[consider merging] Bugfix for LayoutToNetlistReader
2023-09-17 19:58:04 +02:00
Matthias Koefferlein
7126375646
WIP
2023-09-17 19:26:18 +02:00
Matthias Köfferlein
70dcef25ce
Merge pull request #1476 from KLayout/issue-1474
...
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have th…
2023-09-12 07:22:37 +02:00
Matthias Koefferlein
9bb8b4e548
Bugfix: PCellDeclarationHelper was not present after 'import * from pya', more modern version of PCell samples
2023-09-10 23:41:51 +02:00
Matthias Koefferlein
64bcc6bb65
Bugfixed last commit
2023-09-10 22:51:22 +02:00
Matthias Koefferlein
22bab6d6a6
Some refactoring
2023-09-10 22:05:08 +02:00
Matthias Koefferlein
b7ee16b63f
Performance enhancement for instance sorting - done only on demand
2023-09-10 19:47:43 +02:00
Matthias Koefferlein
8adc14d22b
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have the same refnum)
2023-09-09 22:13:05 +02:00
Matthias Koefferlein
81e6141245
Fixed issue #1464 - Layout#get_info and Layout#set_info don't segfault on wrong layer index
2023-09-02 19:37:43 +02:00
Matthias Koefferlein
862f8a5c65
Restored a method which was renamed by mistake
2023-09-02 19:18:43 +02:00
Matthias Koefferlein
512183d55c
Fixed a documentation error
2023-08-30 21:48:09 +02:00
Matthias Koefferlein
06321cdea7
Bugfix: deep region 'transform' with plain shift was not working properly with scaled instances
2023-08-24 22:55:55 +02:00
Matthias Koefferlein
87fcbbecfa
Fixed some includes which where not there
2023-08-23 21:47:06 +02:00
Matthias Koefferlein
5075cad46a
Further trying to fix Windows builds
2023-08-23 20:43:58 +02:00
Matthias Koefferlein
8ac4113abc
Further trying to fix Windows builds
2023-08-23 20:39:03 +02:00
Matthias Koefferlein
3313f5588e
Trying to fix more Windows build issues
2023-08-23 20:33:41 +02:00
Matthias Koefferlein
6027510c19
Fixing Windows build
2023-08-23 00:03:59 +02:00
Matthias Koefferlein
9153763a1c
Fixing Windows build - template point<C> and vector<C> are fully inlined and 'to_string' function pointer for SFINAE creates duplicate symboles
2023-08-22 23:27:10 +02:00
Matthias Koefferlein
aef2979896
Fixed unit tests
2023-08-20 23:32:12 +02:00
Matthias Koefferlein
d01589c26c
Fixed a build issue
2023-08-20 22:52:24 +02:00
Matthias Koefferlein
5941ee688a
Fixed a build error.
2023-08-20 22:33:06 +02:00
Matthias Koefferlein
4e8c83e7b6
Fixed a build error.
2023-08-20 22:31:45 +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
83243f06be
Triangles: solving a numerical issue
2023-08-20 16:48:58 +02:00
Matthias Koefferlein
1b60adf6c1
WIP
2023-08-20 10:19:11 +02:00
Matthias Koefferlein
5de45000db
Triangles: integration into Region processor
2023-08-19 21:50:05 +02:00
Matthias Koefferlein
e416c04a1c
Triangles: enhanced API
2023-08-19 20:40:15 +02:00
Matthias Koefferlein
dfe6699ef9
Triangles: some cleanup
2023-08-19 19:24:56 +02:00
Matthias Koefferlein
18a3c53c2d
Triangles: WIP + more tests
2023-08-19 18:56:51 +02:00
Matthias Koefferlein
0a67aa361c
Triangles: Added a more complex test case for triangulation and providing a min_length parameter for stopping infinite recursion
2023-08-19 15:25:21 +02:00
Matthias Koefferlein
31caa8a04d
Small optimization
2023-08-19 13:29:37 +02:00
Matthias Koefferlein
ef7a5a1331
Triangle: some performance optimization
2023-08-19 13:16:19 +02:00
Matthias Koefferlein
c6b7908499
Triangles: Memory optimization
2023-08-19 01:55:04 +02:00
Matthias Koefferlein
ae3588ab16
Triangles: potential performance improvement in degenerate point set (circle) case.
2023-08-19 01:13:09 +02:00
Matthias Koefferlein
5c46cdfda3
Triangles: Performance improvement
2023-08-19 00:39:31 +02:00
Matthias Koefferlein
2f8144b507
Performance optimization of Triangle insert
2023-08-17 21:50:22 +02:00
Matthias Koefferlein
1e3e918b90
Debugging.
2023-08-17 01:05:15 +02:00
Matthias Koefferlein
5679540c85
Some refactoring
2023-08-16 22:21:49 +02:00
Matthias Koefferlein
2acedfde6f
Fixed some compiler warnings
2023-08-16 22:20:25 +02:00
Matthias Koefferlein
da1251ada2
Fixed a numerical issue with vprod_sign etc. - was using a too coarse precision value to decide about the sign
2023-08-16 22:19:33 +02:00
Matthias Koefferlein
fe90164a8a
Fixed some compiler warnings
2023-08-16 22:18:53 +02:00
Matthias Koefferlein
e07d802500
Delaunay refinement, tests etc.
2023-08-16 00:05:46 +02:00
Matthias Koefferlein
26f1219cc5
Triangle: bug fixes
2023-08-15 21:05:08 +02:00
Matthias Koefferlein
bfccd24016
Triangles: Better numerical stability
2023-08-15 19:57:11 +02:00
Matthias Koefferlein
7351810e55
WIP
2023-08-15 15:56:15 +02:00
Matthias Koefferlein
512cf604d0
Triangles: new test, bugfix
2023-08-15 15:49:11 +02:00
Matthias Koefferlein
03497f05b8
Triangles: tests fixed
2023-08-15 15:33:17 +02:00
Matthias Koefferlein
6e9eb922a2
Triangles: constrain
2023-08-15 14:55:41 +02:00
Matthias Koefferlein
3cc35ce3ee
Triangles: ensure_edge
2023-08-15 14:05:20 +02:00
Matthias Koefferlein
a2e91532c4
WIP: remove vertex implemented for triangles
2023-08-13 21:40:09 +02:00