Commit Graph

18 Commits

Author SHA1 Message Date
Matthias Koefferlein 277ab2c335 Refactoring of GDS2 writer - split large functions into smaller ones 2024-07-30 00:13:47 +02:00
Matthias Koefferlein 589a6ce88a Merge branch 'master' into gds2-writer-overflow-checks 2024-07-29 19:58:47 +02:00
Matthias Koefferlein b7e2b59852 First implementation of GDS2 coordinate overflow checks. 2024-07-29 19:54:29 +02:00
Matthias Koefferlein 0dd6fca51e Implemented a fix for #1794 (giant meta info produces invalid GDS)
This fix solves two problems:
* Too large meta info data
* Too many meta info entries

The first problem is fixed by splitting the strings that serialize
the meta info.

The second problem is fixed by introducing prefixed strings that
indicate the attribute index within the string, not inside
the PROPATTR record.

The solution is backward compatible, although old versions will
not read all meta info and skip entries that exceed the GDS
capacity.

Caveat: the produced GDS files may contain duplicate PROPATTR
keys. This is not strictly illegal, but some third-party processors
may drop such entries.
2024-07-20 22:35:54 +02:00
Matthias Koefferlein d248bfddf3 Updating copyright to new year 2024-01-01 17:06:23 +01:00
Matthias Koefferlein 78da3effa2 Next steps - persistency of meta info 2023-04-18 21:24:26 +02:00
Matthias Koefferlein 541f9a377f Small refactoring, added persisted flag for meta info 2023-04-16 21:31:25 +02:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Koefferlein eb26b6ed34 Basic implementation of 'resolve skew aref' feature 2021-05-21 00:08:02 +02:00
Matthias Koefferlein 7d4310d343 Updated copyright to 2021 2021-01-05 22:57:48 +01:00
Matthias Koefferlein 999c065262 Introducing iterated arrays for instances
Iterated instances are created for OASIS files
using irregular repetitions in viewer mode.

Reason: this way, the same drawing optimization
than for iterated shape arrays can be applied.

As this is a new API feature, some adjustments
had to be made to incorporate them into the
code.
2020-06-04 12:17:34 +02:00
Matthias Koefferlein b8c82c4f8b Updated copyright notice to 2020 2020-01-05 00:59:43 +01:00
Matthias Koefferlein 5dc833970b Hierarchical implementation DRC functions (measurements) 2019-02-16 22:34:36 +01:00
Matthias Koefferlein d4d7ea8022 Updated copyright. 2019-01-08 01:09:25 +01:00
Matthias Koefferlein a82adbbe83 Massive reduction of Qt dependencies, but also massive refactoring. 2018-07-03 00:51:36 +02:00
Matthias Koefferlein dd9467d097 WIP: fixed streamer headers. 2018-06-20 01:13:31 +02:00
Matthias Koefferlein 409392d561 WIP: started refactoring the plugin structure. Goal: standalone db module with it's own plugins like LEF/DEF, Gerber, MEBES including GSI bindings. 2018-06-13 00:33:43 +02:00