Matthias Koefferlein
8ece7bcce1
Activate pex module, GSI bindings
2025-04-22 22:37:23 +02:00
Matthias Koefferlein
71620445ee
Polygon#triangulate now returns a 'raw' region, same for SimplePolygon#triangulate. Working on hm_decomposition (tests, bug fixes etc.)
2025-04-18 15:13:29 +02:00
Matthias Koefferlein
a38bea3086
Fixed a unit test
2025-03-29 19:35:26 +01:00
Matthias Koefferlein
40a0113ce5
Fixing Texts[], EdgePairs[] and Edges[] operators - both in terms of returning xWithProperties and objects with properties at all
2025-03-27 00:27:53 +01:00
Matthias Koefferlein
3aebf90ecd
Texts[n] now also provides a TextWithProperties object. Bugfix: this method was not delivering any objects with properties at all.
2025-03-26 01:22:54 +01:00
Matthias Koefferlein
a24d5388d7
Region[] now returns a PolygonWithProperties object or nil
2025-03-26 00:56:54 +01:00
Matthias Koefferlein
227203cdd1
Providing a less strict overload resolution
...
Downcast now has precedence over conversion constructors, hence less ambiguities
Solution is implemented for
- Ruby
- Python
- Expressions
For Expressions:
- The overload resolution is less evolved anyway
- There was an additional bug preventing to pass arrays (hashes) in expressions
2025-03-26 00:45:16 +01:00
Matthias Koefferlein
a22f48d87a
Texts#polygons now has an argument to specify a property key that receives the text string
2025-03-23 15:54:18 +01:00
Matthias Koefferlein
f977973b85
RecursiveShapeIterator#property and RecursiveShapeIterator#properties
2025-03-23 15:23:19 +01:00
Matthias Koefferlein
cf5e62a4ed
Added RBA/pya tests for triangulation
2025-03-23 11:41:26 +01:00
Matthias Koefferlein
d60b296417
Improvement: Device#terminal_ref to get a NetTerminalRef from a Device.
2025-03-14 23:29:09 +01:00
Matthias Koefferlein
da88973df9
A number of new methods and variants in LayoutToNetlist
...
The goal is to support texts as native objects in
LayoutToNetlist.
Primarily this means, that instead of using a Region
to identify a layer, it is encouraged to use a
layer index instead. Also, Region is not longer the
only way to represent a layer, Texts is available
too.
It is possible now to retrieve the texts of a net
using "texts_of_net".
Also, the "lmap" parameter of "build_nets" became
optional. If "nil", a layer map is created based
on the layer info attribute of the layers.
2025-03-09 23:07:46 +01:00
Matthias Koefferlein
87e7d8e493
Merge branch 'master' into devel
2025-03-06 19:35:32 +01:00
Matthias Koefferlein
c6e7c47d6c
Some bug fixes, updated tests
2025-03-02 18:30:31 +01:00
Matthias Koefferlein
094fccce74
Made unit tests more robust
2025-02-16 15:07:37 +01:00
Matthias Koefferlein
ae5ae25000
Properties filters for EdgePairs and Texts too.
2025-02-16 13:59:50 +01:00
Matthias Koefferlein
1fed2767e8
Property filter for edges too.
2025-02-16 13:35:49 +01:00
Matthias Koefferlein
a219576296
WIP: Region, Edges, EdgePairs and Texts filters can filter by property now, first implementation of Region property filter.
2025-02-16 00:08:35 +01:00
Matthias Koefferlein
e48c6f3660
Edges#each, Edges#each_merged, Region#each, Region#each_merged, Texts#each and EdgePairs#each now deliver objects with properties too.
2025-02-14 22:11:18 +01:00
Matthias Koefferlein
aad90d0c16
Fixed a name clash in PolygonNeighborhood unit tests
2025-02-05 00:02:04 +01:00
Matthias Koefferlein
c09184989f
Avoiding call ambiguities when creating Edges, Region, EdgePairs and Texts from arrays of objects with properties.
2025-02-04 23:59:04 +01:00
Matthias Koefferlein
1f44a951f4
Polygon neighborhood compound operation
2025-02-03 20:47:31 +01:00
Matthias Koefferlein
1bd1bb06ce
More support for objects with properties: RDB integration.
2025-02-02 17:00:31 +01:00
Matthias Koefferlein
a282a5d665
Some more tests for properties inside Edges, Regions
2025-01-29 02:42:16 +01:00
Matthias Koefferlein
375ac6364b
More support for properties inside Edges, Texts, EdgePairs. WIP
2025-01-29 01:59:00 +01:00
Matthias Koefferlein
dfc7d6bef4
Enhancing Python/Ruby API for better support with properties
2025-01-29 00:59:28 +01:00
Matthias Koefferlein
33b54f3f88
Merge branch 'master' into devel
2025-01-19 22:04:55 +01:00
Matthias Köfferlein
253270aaa3
Merge pull request #1973 from KLayout/feature/issue-1971
...
Feature/issue 1971
2025-01-17 10:10:19 +01:00
Matthias Koefferlein
063040695a
Preparing tests for GSI class properties
2025-01-16 20:40:42 +01:00
Matthias Koefferlein
73dc31244a
Merge branch 'master' into devel
2025-01-04 21:51:37 +01:00
Matthias Koefferlein
bccf68504f
Implemented a solution for #1963 (locking cells)
...
A cell can be locked using
cell.locked = true
and unlocked again using
cell.locked = false
Also, cell.is_locked? can be used to test the locked state.
In locked state writing shapes and instances is forbidden
and doing so would raise an exception.
Also, cells cannot be deleted when locked. However, Layout#clear
and Layout#_destroy are always available.
Cells can still be renamed, even if locked.
2025-01-04 21:44:11 +01:00
Matthias Koefferlein
2d5ddd794c
Merge branch 'master' of github.com:KLayout/klayout
2025-01-04 19:36:43 +01:00
Matthias Koefferlein
5d57cb5eed
Updating copyright to 2025
2025-01-04 19:32:33 +01:00
Matthias Koefferlein
c9da9dc6e0
Updating copyright to 2025
2025-01-04 19:28:56 +01:00
Matthias Koefferlein
826b811249
More generic object-with-properties GSI methods
2025-01-04 19:24:32 +01:00
Matthias Koefferlein
233d70d085
Transformation of objects with properties, GSI binding, bug fixing, tests
2025-01-01 22:49:50 +01:00
Matthias Koefferlein
c112f78b1c
WIP: edge and edge pairs with properties, tests, conversion constructors, edge neighborhood tests with properties.
2024-12-30 23:47:34 +01:00
Matthias Koefferlein
75e4282f01
Introducing PolygonWithProperties etc. in gsi
2024-12-29 17:07:56 +01:00
Matthias Koefferlein
f2dc78f438
API enhanced for new properties ID scheme, updated doc and tests
2024-12-28 17:13:43 +01:00
Matthias Koefferlein
a7a4ff0cf2
Fixing RBA dbInstances tests
2024-12-25 23:54:58 +01:00
Matthias Koefferlein
28260a68b0
WIP
2024-12-24 15:39:27 +01:00
Matthias Koefferlein
5e2f4eb243
Fixing bug #1955
...
Problem was caused by a leaking PolygonIteratorDelegate that locked the
DSS layout object. Solved by wrapping in PolygonIterator and
changing the interface such that PolygonIteratorDelegegate is no
longer useful.
2024-12-16 22:58:48 +01:00
Matthias Koefferlein
dd5214dc6e
Fixing issue #1942 (PythonStandalone Package stubs errors), adding defaults for Box#enlarge and Box#enlarged (bonus)
2024-12-02 22:01:51 +01:00
Matthias Koefferlein
e35aa97191
Added 'read_bytes' without options and 'write_bytes'. Added tests for write_bytes and for Ruby. Doc fixed.
2024-11-30 18:46:25 +01:00
Matthias Köfferlein
ec21809cc3
Merge pull request #1916 from KLayout/maybe-pex-support
...
Some add-ons for potential application in the PEX context
2024-11-28 20:43:40 +01:00
Matthias Köfferlein
66d97bb5f1
Merge pull request #1928 from KLayout/feature/issue-1923
...
Feature/issue 1923
2024-11-28 20:43:01 +01:00
Matthias Koefferlein
ce4dc08969
Robustness of tests against different hash implementations, documentation update
2024-11-26 23:15:28 +01:00
Matthias Koefferlein
0ce7fb18a9
Added test for Point/DPoint
2024-11-17 22:09:52 +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
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
57e98d17ac
Fixed some Ruby tests - as RecursiveShapeIterator lifelime may be longer than expected, we need to explicitly destroy the iterator now to avoid layout locking.
2024-10-26 21:24:51 +02:00
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