Commit Graph

33 Commits (60f879a1adf5b6bbc663365d206d174972f33a42)

Author SHA1 Message Date
Jan Petykiewicz 60f879a1ad style fixes (per flake8) 4 years ago
Jan Petykiewicz 3627b63658 Make records store their associated Property records.
Previously, `Property` records were (incorrectly) just associated with
the library or cell.

This requires a change to how `CellName`s are handled by `OasisLayout`,
since they can have associated properties. They now have their own
non-record object (like `XName`s did before) which holds the properties.

There is also now a `FileModals.property_target` attribute which tracks
which record new `Property` rescords should be associated with.
4 years ago
Jan Petykiewicz 167b16e1c9 fix writing of property values 4 years ago
Jan Petykiewicz 2c2013a0fc move typing imports to top of file 4 years ago
Jan Petykiewicz a80ac6199a Record type 17 (Placement) should not allow modal angle or magnification 4 years ago
Jan Petykiewicz 94555c1b6e Update modal coordinates even if we are in relative mode 4 years ago
Jan Petykiewicz 492d6416db Docstring updates: CTrapezoid info, Polygon+Path point_list description improvement, and better description of where x and y point to 4 years ago
Jan Petykiewicz aaef122178 fixup array equality checking in the case where _USE_NUMPY is false but we somehow still get an ndarray
mostly happens during testing
4 years ago
Jan Petykiewicz 55638fcde5 fix placement rotation (float modulo int was always returning 0??) 4 years ago
Jan Petykiewicz 99283aaaf0 enable passing in str where an AString or NString is needed. 4 years ago
Jan Petykiewicz 705926d443 Add UnfilledModalError, records.verify_modal(), and .get_*() methods.
The .get_*() methods are used to verify that we aren't reading from a
pattern with un-filled modals.

The GeometryMixin class was also added here and provides some additional
convenience methods: get_xy() to get an (x,y) tuple and
get_layer_tuple() to get a (layer, datatype) tuple.
4 years ago
Jan Petykiewicz 4c5f649eec Force mypy to ignore a bunch of simple situations it's not smart enough to reason about 4 years ago
Jan Petykiewicz 25b2cecec9 Minor changes to satisfy type checker 4 years ago
Jan Petykiewicz c9adca61b6 get_pathext may return None 4 years ago
Jan Petykiewicz 1a259a1c19 Improve ctrapezoid validity checking
width/height might be None; check them against each other only if they
aren't. Also, perform checks after dedup/adjust.
4 years ago
Jan Petykiewicz cfb3e90d71 Fix XYmode.absolute 4 years ago
Jan Petykiewicz 7f0c46525e improve type annotations 4 years ago
Jan Petykiewicz 06de10062d Additional error checking 4 years ago
Jan Petykiewicz 62fca39a69 Modernize comments and type annotations. Ugly commit with a couple code fixes:
- modal variable name change: path_halfwidth -> path_half_width
- Fixed `hasattr(other, 'as_list')` calls in __eq__() functions
4 years ago
Jan Petykiewicz 6f2200c5ed Faster/simpler cumsum approach in read_point_list
Reqires a special case for ndarrays in dedup_field() -- probably a good
idea anyways if user gives us an ndarray
4 years ago
Jan Petykiewicz f4eeb50a6f Fix incorrect calls to .write() 4 years ago
Henk van der Laak ab175641fe Turn <3 points polygon exception into warning 5 years ago
Jan Petykiewicz 9133245d49 Add debug logging for cblock read() 6 years ago
Jan Petykiewicz b1844d6b0d Layer names should be NStrings
Not sure about this -- maybe they're actually AStrings, in which case
the LayerName constructor also needs to change
6 years ago
Jan Petykiewicz 6cef118534 Fix Circle reader reporting incorrect record id 6 years ago
Jan Petykiewicz 28cdb34b08 ctrapezoid_type may be None (modal) 6 years ago
Jan Petykiewicz 055b2b35af delta_a should be negative for a canonical Trapezoid 6 years ago
Jan Petykiewicz 493109954b Fix variable name typo in PropString 6 years ago
Jan Petykiewicz ffb211b009 Add default for CBlock decompression_args 6 years ago
Jan Petykiewicz 07cfe9a74d Log debug info when reading records 6 years ago
Jan Petykiewicz 7f0af7d579 Fix XYMode constructor 6 years ago
Jan Petykiewicz 0cb4cf4d4b Add generic debug logging to records 6 years ago
jan dc5538dd68 initial commit 7 years ago