Commit Graph

461 Commits

Author SHA1 Message Date
Matthias Koefferlein b512f628bc WIP: specific device extractor and GSI binding. 2018-12-30 14:54:59 +01:00
Matthias Koefferlein ec7ab8e01d WIP: moved code. 2018-12-30 14:15:58 +01:00
Matthias Koefferlein c841b84867 WIP: some minor refactoring. 2018-12-30 13:37:52 +01:00
Matthias Koefferlein a787204e77 WIP: connect and disconnect terminal by name in GSI 2018-12-30 13:28:11 +01:00
Matthias Koefferlein 293c6f496e WIP: more query functions for netlist classes (i.e. net by name, device by name etc.), some refactoring, GSI bindings, tests. 2018-12-30 13:00:03 +01:00
Matthias Koefferlein 425acda31a WIP: GSI binding of device extractor classes. 2018-12-30 11:32:33 +01:00
Matthias Koefferlein c571535e55 WIP: standard device classes, added GSI binding plus tests. 2018-12-29 23:48:31 +01:00
Matthias Koefferlein 44b5b2742e WIP: tests for specialized device classes and device combination 2018-12-29 22:58:29 +01:00
Matthias Koefferlein 45b35f3aae WIP: to_string for netlist, tests, some bugfixes on device combination. 2018-12-29 22:18:58 +01:00
Matthias Koefferlein edbafae43e WIP: make top level pins for named nets and netlist purging. Tests. 2018-12-29 20:50:35 +01:00
Matthias Koefferlein 54adb84e27 WIP: locking of netlist for better performance. 2018-12-29 01:04:48 +01:00
Matthias Koefferlein d57ede441c WIP: netlist topology - children, parents, top-down and bottom-up iteration. 2018-12-29 00:48:28 +01:00
Matthias Koefferlein 2f48479838 WIP: a bit of simplification, renaming of methods, parents for subcircuits, devices. References for circuits pointing to subcircuits. 2018-12-28 22:51:11 +01:00
Matthias Koefferlein a5b9cbfe5b WIP: device extractor now declares it's layers, passing layers by name supported now. 2018-12-28 01:53:27 +01:00
Matthias Koefferlein c665d6aceb WIP: introduced error messaging for device extractor. 2018-12-28 01:06:17 +01:00
Thomas Ferreira de Lima fcc05d5b9d
Bugfix: gsi method db Technology.load pointing to save 2018-12-27 16:26:46 -05:00
Matthias Koefferlein 411c18cdb4 WIP: also test parameter extraction in device extraction test. 2018-12-27 21:06:35 +01:00
Matthias Koefferlein 473c90f99d WIP: some refactoring: splitting of big methods, documentation 2018-12-27 19:06:16 +01:00
Matthias Koefferlein 1c41c43b95 WIP: rename netlist extractor test. 2018-12-27 10:58:48 +01:00
Matthias Koefferlein d6473b4d84 WIP: moved netlist extractor into right place. 2018-12-27 10:57:46 +01:00
Matthias Koefferlein 8b2902c31b WIP: introduced expanded net name 2018-12-27 10:43:25 +01:00
Matthias Koefferlein 639b0026d3 WIP: some refactoring for better consistency and easier usage of the device extractor. 2018-12-27 10:33:08 +01:00
Matthias Koefferlein bfae347ffb WIP: renaming sub_circuit->subcircuit for consistency 2018-12-27 02:02:17 +01:00
Matthias Koefferlein f0f620b1cd WIP: added subcircuit IDs for easier referencing. 2018-12-27 01:58:34 +01:00
Matthias Koefferlein 795a77f7ce WIP: take care of the property name used for device terminal annotation. 2018-12-27 01:39:28 +01:00
Matthias Koefferlein 62ffcd38e6 WIP: refactoring of the netlist property thing. Now it's internal and there is only the device terminal property. The property also does not store device pointers but just IDs 2018-12-27 01:27:58 +01:00
Matthias Koefferlein f5071d3254 WIP: some more refactoring. 2018-12-27 01:03:52 +01:00
Matthias Koefferlein 2171b98bd8 WIP: introduced device IDs 2018-12-27 00:59:44 +01:00
Matthias Koefferlein 724d1bc255 WIP: some small refactoring. 2018-12-27 00:32:40 +01:00
Matthias Koefferlein 7e4868dcf8 WIP: some small refactoring. 2018-12-27 00:28:44 +01:00
Matthias Koefferlein 8f568641e0 WIP: some refactoring, added label recognition to net extraction, test enhancements. 2018-12-27 00:20:21 +01:00
Matthias Koefferlein 024907e7ef WIP: first test for device extraction. 2018-12-26 10:02:34 +01:00
Matthias Koefferlein 1db5ad016c WIP: added first tests for device extraction. 2018-12-26 00:39:46 +01:00
Matthias Koefferlein f342bdd83a WIP: added some convenience methods. 2018-12-26 00:39:34 +01:00
Matthias Koefferlein ec65d293e3 WIP: moved some GSI specific methods into the C++ classes because they are of general use. 2018-12-26 00:38:35 +01:00
Matthias Koefferlein bfc0e24d50 WIP: fixed some compiler warnings. 2018-12-26 00:36:34 +01:00
Matthias Koefferlein 5c18424c10 WIP: fixed a comment typo. 2018-12-26 00:36:19 +01:00
Matthias Koefferlein c75a41a1a4 WIP: fixed verbosity of some output. 2018-12-26 00:34:57 +01:00
Matthias Koefferlein 88c60420d0 WIP: fixed verbosity of some output. 2018-12-26 00:34:34 +01:00
Matthias Koefferlein 195324295d WIP: tests for new net predicates. 2018-12-25 20:56:08 +01:00
Matthias Koefferlein 3d9712c53a WIP: implementation of device class and GSI bindings. Added some network attributes and predicates (is_floating, is_internal, pin_count, terminal_count) 2018-12-25 20:46:06 +01:00
Matthias Koefferlein 4f8416766c WIP: renamed port -> terminal for devices. This is correct technical term. A port is a two-terminal entity. 2018-12-25 20:19:37 +01:00
Matthias Koefferlein 9c9d99da7c WIP: introduced device combination support hints. 2018-12-25 19:45:34 +01:00
Matthias Koefferlein a7a2eea905 WIP: MOS3 and MOS4 devices 2018-12-25 19:41:29 +01:00
Matthias Koefferlein 33e2fb8dc1 WIP: refinement of device extraction algorithm 2018-12-25 02:17:41 +01:00
Matthias Koefferlein 97a1abb73f WIP: implementation of basic device classes, device extractor. 2018-12-25 02:02:18 +01:00
Matthias Koefferlein 792a420e23 WIP: purge_nets and combine_devices for db::Netlist, GSI bindings. 2018-12-25 00:25:07 +01:00
Matthias Koefferlein d9b0b2f775 WIP: Ability to redefine device combination in Ruby (GenericDeviceClass) 2018-12-24 17:22:59 +01:00
Matthias Koefferlein 764667d8e8 WIP: added algorithm for combining devices - needs testing. 2018-12-24 16:55:22 +01:00
Matthias Koefferlein e3b795e334 Unique ID of device class objects, netlist reference in device class. 2018-12-24 13:52:17 +01:00
Matthias Koefferlein eb6b043c3b Parameter values of db::Device/db::DeviceClass 2018-12-24 13:39:19 +01:00
Matthias Koefferlein c5222c26e3 Added DevicePortProperty class with tests and GSI binding 2018-12-24 01:31:06 +01:00
Matthias Koefferlein aa5e885215 Added Ruby tests for GSI binding of db::Netlist classes 2018-12-24 00:08:34 +01:00
Matthias Koefferlein 3c2c72d9ed WIP: GSI binding of db::Netlist at al 2018-12-23 22:31:26 +01:00
Matthias Koefferlein 9a9482d7c7 Added netlist editing features. 2018-12-22 23:12:45 +01:00
Matthias Koefferlein e51a3a9ed9 Dual netlist representation (nets attached to pins and ports). 2018-12-22 00:29:44 +01:00
Matthias Koefferlein 654afa3ec2 Upward references for db::Net and db::Circuit. 2018-12-21 22:13:37 +01:00
Matthias Koefferlein 83a38037e5 Added cluster_id property to db::Net 2018-12-21 21:53:48 +01:00
Matthias Koefferlein 80999475f4 Added trans and name attributes to db::SubCircuit 2018-12-21 21:47:27 +01:00
Matthias Koefferlein 4dd17c3cd4 WIP: added tests for dbNetlist classes. 2018-12-20 23:29:01 +01:00
Matthias Koefferlein 18346945df WIP: some refactoring. 2018-12-20 22:11:20 +01:00
Matthias Koefferlein d78a25efe4 WIP: new classes for netlist representation. 2018-12-19 23:41:39 +01:00
Matthias Koefferlein 2c4e84fdf2 WIP: netlist property framework
- NetlistProperty is the base class for objects that can
  be attached to shapes for annotation
- First property type implemented: net name is a way
  to annotate net names
2018-12-18 23:56:01 +01:00
Matthias Koefferlein c10dfee984 Merge branch 'dvb' of https://github.com/klayoutmatthias/klayout into dvb 2018-12-17 20:31:34 +01:00
Matthias Koefferlein 7ceb4ed076 Fixed an issue with the deep region: the layout pointer is not a good key for the backannotation cache. So we better use the unique ID - a concept introduced herein. 2018-12-17 20:31:24 +01:00
Matthias Koefferlein 69d75e233d Enabled build without qt, Ruby and Python 2018-12-16 23:50:34 +00:00
Matthias Koefferlein ef0e0d38c2 WIP: property collection in net clusters, more tests. 2018-12-09 23:24:32 +01:00
Matthias Koefferlein eb8abaf5a5 Some refactoring of net processor
- introduced concept of root cluster
- recursive shape iterator for clusters
2018-12-09 00:54:08 +01:00
Matthias Koefferlein df44c364ea WIP: network processor: net backannotation into original hierarchy. 2018-12-08 01:55:02 +01:00
Matthias Koefferlein 6a2ddcda82 Net processor: Added timing, rearrangement as preparation for parallelization 2018-12-07 23:21:38 +01:00
Matthias Koefferlein e894724605 Some more debugging and more test cases. Net processor starts getting stable ... 2018-12-05 23:14:06 +01:00
Matthias Koefferlein 6849a2723d WIP: added test cases for multi-level cross-hierarchy interactions. 2018-12-04 23:33:04 +01:00
Matthias Koefferlein 10f7750a89 WIP: more tests, some debugging. 2018-12-04 23:21:19 +01:00
Matthias Koefferlein 37fad6da97 WIP: hier network processor - some debugging, more tests. 2018-12-04 22:30:18 +01:00
Matthias Koefferlein 42f153672b WIP: proceed with debugging of hier network processor 2018-12-03 23:02:01 +01:00
Matthias Koefferlein 5a48ac3974 WIP: some refactoring, joining of clusters by child clusters. Needs testing. 2018-12-03 22:05:54 +01:00
Matthias Koefferlein e8c86834cb WIP: hier network - a first testcase. 2018-12-03 00:17:04 +01:00
Matthias Koefferlein 1e4b2b414e WIP: built test bench 2018-12-02 23:58:47 +01:00
Matthias Koefferlein 7e36018356 WIP: hierarchical net clusters - some testing 2018-12-02 23:05:58 +01:00
Matthias Koefferlein 22651b83c0 WIP: hierarchical net clusters - needs testing 2018-12-02 22:39:53 +01:00
Matthias Koefferlein 0e4eab2dce WIP: hierarchical net clusters. 2018-12-02 22:26:03 +01:00
Matthias Koefferlein f7f9f4f1fc WIP: hier network processor: local cluster set 2018-12-02 12:55:54 +01:00
Matthias Koefferlein e918cc74b0 WIP: tests for cluster in hierarchical network processor. 2018-12-02 10:41:37 +01:00
Matthias Koefferlein 59d1aead59 WIP: new classes for hier network processor. 2018-12-02 01:30:56 +01:00
Matthias Koefferlein 3609bdda81 WIP: first steps for network processor. 2018-12-01 09:38:16 +01:00
Matthias Koefferlein 970f22960f WIP: enabled tests in editable mode too. 2018-11-28 00:00:06 +01:00
Matthias Koefferlein 6e52c37a1e WIP: Fixed another build issue (ambiguous overload) 2018-11-26 22:28:29 +01:00
Matthias Koefferlein 345ff27854 Fixed a small build issue (ambiguous parameters) 2018-11-26 21:29:09 +01:00
Matthias Koefferlein 5c7cd02af3 Merge remote-tracking branch 'remotes/origin/pymod' into net-extract 2018-11-25 23:16:56 +01:00
Matthias Koefferlein 0352a450b7 Refined solution for #198 2018-11-25 22:43:13 +01:00
Matthias Koefferlein f4b2a015dc Fixed #198 (DXF contour stitching renders fuzzy polygons) 2018-11-22 22:19:46 +01:00
Matthias Koefferlein 7073a74aa5 WIP: More on deep regions & hier processor
- Splitting of shapes on output of booleans
- A bugfix: error happened when pulling intruders from second-next hier level
- Tests added
- Some TODO comments added
2018-11-22 01:26:03 +01:00
Matthias Koefferlein 06c11d0096 WIP: Deep region XOR implemented. 2018-11-21 00:32:14 +01:00
Matthias Koefferlein 712a390f52 WIP: added ref counting for deep shape layers and layouts 2018-11-21 00:17:14 +01:00
Matthias Koefferlein fc729fc830 WIP: DeepRegion::add implemented. 2018-11-18 09:58:10 +01:00
Matthias Koefferlein cfa0e8431c WIP: implemented AND/NOT in deep region, added tests. 2018-11-17 01:33:58 +01:00
Matthias Koefferlein a438dfd6f0 WIP: deep region debugged, GSI binding, tests. 2018-11-17 00:16:13 +01:00
Matthias Koefferlein f5cc8b6018 WIP: added DeepRegion 2018-11-16 01:11:28 +01:00
Matthias Koefferlein f29fd3dfc6 WIP: moved hierarchical processor into db. 2018-11-15 23:41:44 +01:00
Matthias Koefferlein 04256a2753 WIP: fixed RecursiveShapeIterator unit tests. 2018-11-15 22:59:38 +01:00
Matthias Koefferlein 3f8825cfd1 WIP: Improved design of HierarchyBuilder, added tests. 2018-11-15 22:50:02 +01:00
Matthias Koefferlein 6f4988a764 WIP: first version hierarchy builder 2018-11-14 02:22:53 +01:00
Matthias Koefferlein 2bfccca462 WIP: enhanced recursive shape iterator's push mode. 2018-11-13 23:40:08 +01:00
Matthias Koefferlein f346e70746 RecursiveShapeIterator now features a push mode
This will eventually enable catching a hierarchy
skeleton (with shapes) from a RecursiveShapeIterator.
2018-11-12 23:44:26 +01:00
Matthias Koefferlein c91f54569a Provide GSI bindings for the new edge pair support
This affects Shapes and Shape. New methods from EdgePairs are added
and minor enhancements of Region and Edges. Ruby tests added
2018-11-10 22:41:40 +01:00
Matthias Koefferlein 255abc5534 Provided new explicit template instantiations required for DRC 2018-11-10 00:44:30 +01:00
Matthias Koefferlein 7a37da91e0 EdgePairs refactoring
- Uses a db::Shapes container
- Aligned with db::Edges and db::Region
- With original layer delegate
2018-11-10 00:07:53 +01:00
Matthias Koefferlein 8e19474095 Introduced edge pairs as valid shapes for db::Shapes 2018-11-09 22:59:26 +01:00
Matthias Koefferlein b9b00a08b5 Many bug fixes after refactoring. 2018-11-09 01:14:22 +01:00
Matthias Koefferlein ec638c87b4 Refactoring of Edges - compiles again. 2018-11-09 00:39:00 +01:00
Matthias Koefferlein 0a9ab32f81 WIP: fixed initialization code. 2018-11-07 23:08:52 +01:00
Matthias Koefferlein de6045fdf0 Fixed an initialization issue. 2018-11-07 22:20:57 +01:00
Matthias Koefferlein 009492a2a6 Fixed a linker issue. 2018-11-07 22:19:05 +01:00
Matthias Koefferlein 8107e1bb51 Refactoring: separated sources for db::Region 2018-11-07 22:17:51 +01:00
Matthias Koefferlein 885a440089 Further refactoring: provide adressable polygons. 2018-11-07 02:44:15 +01:00
Matthias Koefferlein 9c92a9c72e Region refactoring: many unit tests are passing again. 2018-11-07 00:45:29 +01:00
Matthias Koefferlein e595c32fe1 WIP: made first unit tests functional again. 2018-11-06 00:51:39 +01:00
Matthias Koefferlein f604d149b5 WIP: next part of region refactoring. 2018-11-05 00:32:04 +01:00
Matthias Koefferlein 7062c4acf5 WIP: next part of region refactoring. 2018-11-05 00:25:16 +01:00
Matthias Koefferlein 5a5051b0dd WIP: second part of region refactoring. 2018-11-04 23:26:08 +01:00
Matthias Koefferlein 54945105ef WIP: first part of region refactoring. 2018-11-04 22:56:08 +01:00
Matthias Koefferlein 3392c08d36 Merge branch 'pymod' into net-extract 2018-10-09 23:43:58 +02:00
Matthias Koefferlein a7846ead9f Add-on to previous commit: fixes some Python issues
The comments for LoadLayoutOptions#layer_map, #cif_layer_map
and #dxf_layer_map have been updated to reflect the new status
of these properties (which have been methods). The tests
are updated accordingly (layer_map() -> layer_map).
2018-10-09 00:18:45 +02:00
Matthias Koefferlein db981b0f7d A huge patch to make Windows build functional again after recent updates
The issue was: for MacOS/clang, the virtual format-specific
option structs had to be embedded in one compile unit (for RTTI).
In Windows this will lead to link errors since the DLL is not
reachable at build time for the generic reader/writer configuration in
the buddy tools.

The solution is to use GSI methods (provided for scripting) to
set the reader/writer options in a generic way that does not
require linking against the plugin DLLs.
2018-10-08 23:31:22 +02:00
Matthias Koefferlein 121ec46390 Attempt to introduce multithreading into hierarchical processor
However, performance does not scale well currently.
2018-10-08 00:10:54 +02:00
Matthias Koefferlein f7c4aa0348 (Partial) attempt to fix the plugin detection issue on MacOS 2018-10-02 17:36:30 -07:00
Matthias Koefferlein c75e67268b Merge branch 'pymod' into net-extract 2018-09-26 21:40:23 +02:00
Matthias Koefferlein 6795de1dbb Merge remote-tracking branch 'remotes/origin/master' into pymod
Provides fixes for issue #166 and #172.
2018-09-26 21:15:08 +02:00
Matthias Koefferlein a551300e0d WIP: Some refactoring (hier processing in extra file), unit tests, bug fixes 2018-09-22 22:32:36 +02:00
Matthias Koefferlein 3214200e17 WIP: code factory 2018-09-22 02:45:56 +02:00
Matthias Koefferlein b25401c254 Added twofold-typed box scanner. 2018-09-20 23:44:51 +02:00
Matthias Koefferlein 6efdb3a9e1 Added testcase for #166. 2018-09-17 01:51:23 +02:00
Matthias Koefferlein f72fda7bae Added test case for #166. 2018-09-17 01:48:31 +02:00
Matthias Koefferlein e9de4252fb Fixed #166 (internal error when writing GDS file)
This fix consists of computing the intersection
points in the split procedure with higher resolution
to avoid topology changes due to snapping on the cut
line.
2018-09-17 01:29:31 +02:00
Matthias Koefferlein c46bed0785 Some update to fix build issues (this time, Linux)
- All platforms support native hash values for long long etc.
  with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
  in Changelog.
2018-09-10 21:56:20 +02:00
Matthias Koefferlein ad03533a7b OASIS tests made robust against hash implementation
The text writer was made "normalizing": it will introduce
a certain element order (string sorting). This way, OASIS
files can be compared against golden data without
changes in the order due to different implementation of
hash containers.
2018-09-10 01:16:49 +02:00
Matthias Köfferlein 28f8a1ee7d Merge branch 'pymod' into pymod-msvc 2018-09-07 22:56:22 +02:00
Matthias Köfferlein a4562bee71 Also fixed issue with hash value of LayerProperties 2018-09-07 22:39:12 +02:00
Matthias Köfferlein c53c3ae7cf Hash value issue with db::Text fixed. 2018-09-07 22:29:54 +02:00
Matthias Köfferlein 1bf4d95388 Further MSVC compatibility
String assertions fixed, numerical issue with dbTrans fixed, iterator 
assertions fixed.
2018-09-02 19:18:42 +02:00
Matthias Köfferlein 356a468d66 A couple of changes to make MSVC work - not done yet. 2018-09-02 00:40:35 +02:00
Matthias Koefferlein c9771f54eb Merge branch 'master' into pymod 2018-09-01 09:37:08 +02:00
Matthias Köfferlein af50c0f0c3 Many warnings fixed for MSVC 2018-08-29 01:46:18 +02:00
Matthias Köfferlein 860014e3ae MSVC builds for the first time - still a lot of patches required
Some suspicious compiler warnings remain.
2018-08-28 23:19:58 +02:00
Matthias Koefferlein bcd6c466fb Fixed #152 (shape count wrong) 2018-08-13 09:30:46 +02:00
Matthias Köfferlein 23d715001b First steps towards enablement of MSVC2017 for pymod. A lot of things to TODO yet ... 2018-08-04 18:02:39 +02:00
Thomas Ferreira de Lima cfbcc158bf
adding / and /= operators to Point and Vector types in db [ci skip] 2018-08-02 00:45:34 -04:00
Thomas Ferreira de Lima a3234e2645
changing dbHash macro from __APPLE__ to __EXT_HASH_DEPRECATED 2018-08-01 22:31:09 -04:00
Thomas Ferreira de Lima f6d3995d6b
changing ext/hash_(set|map) to unordered_(set|map) to avoid deprecation warning on mac. 2018-08-01 15:51:05 -04:00
Matthias Koefferlein ddfb084a8d Bugfix: also recognize plugins when the main binary is installed in a different place than the libs. 2018-07-29 14:56:19 +02:00
Matthias Koefferlein 98ecc9e47b Fixed a typo, force update of unit tests on Jenkins. 2018-07-29 14:07:02 +02:00
Matthias Koefferlein 3fb568671d A little refactoring - central place for DLL/.so path detection 2018-07-29 10:20:48 +02:00
Matthias Koefferlein 11627486d6 More verbose messages on plugin loading. 2018-07-29 02:36:25 +02:00
Matthias Koefferlein c9859b4f8f Fixed some issues with long int emulation. Using long int as substitute for __int128 2018-07-24 22:08:30 +02:00
Matthias Koefferlein 8578918764 Updated PolygonTools test with recent edge processor update. 2018-07-23 20:28:01 +02:00
Matthias Koefferlein 6b48b2bb3d Fixed Edge unit tests. 2018-07-23 19:37:36 +02:00
Matthias Koefferlein f05b3249ca Fixed fast EdgeProcessor unit tests with recent update. 2018-07-23 19:36:00 +02:00
Matthias Koefferlein 2178b72704 Refined test for 74 issue for different orientations. 2018-07-23 19:12:12 +02:00
Matthias Koefferlein 5741a120e9 More precise point/edge interaction for scanner 2018-07-22 22:52:04 +02:00
Matthias Koefferlein efd9e47c1f Attempt to fix a scanline issue. 2018-07-22 18:49:17 +02:00
Matthias Koefferlein 20d1d0500f Fixed #142 (Issue with RBA::RecursiveShapeIterator#region=) 2018-07-12 21:16:14 +02:00
klayoutmatthias 616c2942e1 WIP: made pymod functional on Windows (without Qt). Tests pass. 2018-07-10 23:34:30 +02:00
Matthias Koefferlein 772062e33e WIP: fixed path generation in db::init in non-Qt case. 2018-07-09 00:43:49 +02:00
Matthias Koefferlein 260243a6d9 WIP: Fixed PCB import for non-Qt builds, added missing file. 2018-07-08 23:44:36 +02:00
Matthias Koefferlein 3acb7b6920 Fixed documentation (XML parser error) of RBA::TextGenerator. 2018-07-06 00:58:26 +02:00
Matthias Koefferlein 2b64c4bf82 Bugfix: multithread-safety for gsi::Proxy (required for the tiling processor use case). 2018-07-06 00:56:34 +02:00
Matthias Koefferlein 803a29037a Added test for reproducing threading issue on TP 2018-07-06 00:09:22 +02:00
Matthias Koefferlein bbfcd9cf9e Made normal build work again. 2018-07-03 01:49:06 +02:00
Matthias Koefferlein a82adbbe83 Massive reduction of Qt dependencies, but also massive refactoring. 2018-07-03 00:51:36 +02:00
Matthias Koefferlein 239b7ca3ff First (major) steps towards a Qt-less basic build. 2018-07-02 18:20:20 +02:00
Matthias Koefferlein 94387529d6 Fixed #134
The issue was caused by an internal error in the edge processor.
Effectively the weak attractor scheme was causing this problem.
As the weak attractors are making things worse rather than
better I dropped them.

In theory, the weak attractors render an edge undisturbed by
neighboring intersection points, but in cases or parallel edges
this lead to problems: omitting cut points violates the output
edge configuration warranties the the polygon stitcher fails.

In addition, to maintain the solution for bug #74, the cut point
capture condition was relaxed, so that edge crossing the exact
corner of the snapping rectangle of a point are not considered
captured.
2018-06-26 01:04:20 +02:00
Matthias Koefferlein da65851ee2 Public declaration of path::to_string 2018-06-24 14:11:23 +02:00
Matthias Koefferlein f7843410a0 Public declaration of path template instantiation 2018-06-24 14:08:31 +02:00
Matthias Koefferlein 4c90d98750 WIP: Fixed windows build. 2018-06-17 10:27:54 +02:00
Matthias Koefferlein 7e56ce23e5 WIP: Moved net tracer into plugin, GSI is now in db module. 2018-06-16 00:56:35 +02:00
Matthias Koefferlein 9e972876fe WIP: correctly assigned db module to technology in GSI 2018-06-15 01:02:26 +02:00
Matthias Koefferlein 41cedf4b45 WIP: fixed the technology refactoring part 2018-06-15 00:59:38 +02:00
Matthias Koefferlein 10cfac3d42 WIP: fixed linker issues. 2018-06-15 00:31:46 +02:00
Matthias Koefferlein c360f6d4a7 WIP: first steps for making technology a db component. 2018-06-14 23:38:23 +02:00
Matthias Koefferlein 5421f77e61 WIP: finished refactoring to plugins for CIF, DXF & OASIS too. 2018-06-13 22:23:27 +02:00
Matthias Koefferlein 9883ea5679 WIP: added streamers plugin structure (partially) 2018-06-13 21:39:39 +02:00
Matthias Koefferlein 77f0197f8a WIP: fixed test framework. 2018-06-13 00:43:54 +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
Matthias Koefferlein 3b5e84a5b2 Fixed documentation of RBA::TextGenerator. 2018-06-04 23:11:02 +02:00
Matthias Koefferlein 655e59d11a WIP: Fixed build dependencies and code dependencies for Python modules (Qt5) 2018-06-03 19:54:18 +02:00
Matthias Koefferlein 0e29c997f6 WIP: refactoring, fixed documentation and some mistakes. 2018-05-31 01:11:24 +02:00
Matthias Koefferlein c30d52c801 WIP: fixed a lot of compiler issues after last refactoring. 2018-05-30 01:00:13 +02:00
Matthias Koefferlein f74f2d3416 Fixed bug #121 (reopening of PCell's in GDS and - partially - in OASIS) 2018-05-17 22:24:32 +02:00
Matthias Koefferlein 89b4397aa4 Fixed some doc typos. 2018-04-28 00:32:23 +02:00
Matthias Koefferlein ff9be6219d Fixed some doc typos. 2018-04-28 00:31:41 +02:00
Matthias Koefferlein c94723bbce New RBA/pya methods
More Shapes#insert flavours with Shapes and RecursiveShapeIterator,
RecursiveShapeIterator#dtrans.
2018-04-28 00:21:36 +02:00
Matthias Koefferlein 08bcd1e418 Fixed #117 (DTrans#itype broken) 2018-04-24 21:26:21 +02:00
Matthias Koefferlein a4b396535f Fixed #116 (polygon cutting issue)
Last step: polygon cut algorithm with fallback: merge before cut on invalid polygons.
2018-04-24 20:58:00 +02:00
Matthias Koefferlein 9622a2e669 WIP: added testcases for extreme polygon decomposition on GDS writing. 2018-04-24 19:28:45 +02:00
Matthias Koefferlein e183323d9a WIP: new version of polygon cut algorithm which is simpler and more stable. 2018-04-24 01:09:28 +02:00
Matthias Koefferlein ca9a6db8a5 Scanline polygon generator: avoid spikes
The implementation of the scanline polygon generator
will avoid spikes as hole cutlines. Helps
fixing #116.
2018-04-23 22:22:32 +02:00
Matthias Koefferlein e710b28a6d FEATURE: added RBA::Polygon#split, RBA::Polygon#split, RBA::DSimplePolygon#split, RBA::DSimplePolygon#split 2018-04-20 22:26:57 +02:00
Matthias Koefferlein 34b534e8b4 Fixed memory statistics for polygons. 2018-04-19 00:13:28 +02:00
Matthias Koefferlein 067d52a269 FEATURE: DXF accuracy and "keep layer names" feature
* "keep layer name" will not try to modify layer names into
  GDS layer/datatypes. The feature is available in the DXF
  reader options and for the buddy scripts as "--keep-layer-names"
  It applies to CIF too.
* "contour accuracy": when merging lines into contours, this
  accuracy is applied to find neighbors. By default this value
  is 0. If set to a value >0, points with distances (square
  metrics) less than this value will be connected.
  The buddy script option is --dxf-contour-accuracy=value.
2018-04-18 23:34:59 +02:00
Matthias Koefferlein 86a90571e6 WIP: DXF keep layer names option, refactoring, added tests, UI, XML serialization. 2018-04-16 19:47:12 +02:00