Commit Graph

158 Commits (master)

Author SHA1 Message Date
Jan Petykiewicz 08cf7ca4b1 avoid calling to_polygons on Polygons (for speed) 4 years ago
Jan Petykiewicz de4726955b add load_libraryfile convenience wrapper 4 years ago
Jan Petykiewicz ce5d386a24 Determine if an existing file is gzipped based on magic bytes, not suffix 4 years ago
Jan Petykiewicz aa5696d884 Add Library management functionality 4 years ago
Jan Petykiewicz 7cad46fa46 add klamath-based gds read/write 4 years ago
Jan Petykiewicz c6684936cf Improve docs, error messages, and type annotations 4 years ago
Jan Petykiewicz 84f811e9d1 move clean_vertices functionality out into a common function 4 years ago
Jan Petykiewicz 0e4b6828df Disable height warning for DXF 4 years ago
Jan Petykiewicz 5f72fe318f Loosen requirements from List to Sequence 4 years ago
Jan Petykiewicz 64fbd08cac don't attempt to set structure properties 4 years ago
Jan Petykiewicz c4dfd06a42 improve type annotations 4 years ago
Jan Petykiewicz f996a1629f limit number of arguments on more functions 4 years ago
Jan Petykiewicz 49a3b4e322 add support for annotations
and other fixes
4 years ago
Jan Petykiewicz ea21353d2e fix incorrect variable name 4 years ago
Jan Petykiewicz 92a3b9b72e documentation fixes/updates 4 years ago
Jan Petykiewicz e7c8708f7f prefer f-strings 4 years ago
Jan Petykiewicz 3ec28d4720 typo fixes 4 years ago
Jan Petykiewicz b845b0f7bc move shape conversions to their own functions, and use raw mode 4 years ago
Jan Petykiewicz 352c03c0ae remove use_dtype_as_dose arg 4 years ago
Jan Petykiewicz b98553a770 set repetition on subpattern 4 years ago
Jan Petykiewicz 7ce601dc1d Enable repeated shapes in gdsii and oasis 4 years ago
Jan Petykiewicz ad6fa88e53 Expect name to still be a string after disambiguation
Check that encode('ascii') doesn't make it zero-length, but don't
actually return the encoded form.
4 years ago
Jan Petykiewicz 794ebb6b37 repetition related fixup 4 years ago
Jan Petykiewicz bab40474a0 Add repetitions and split up code into traits 4 years ago
Jan Petykiewicz 09615eaea6 use set() to remove any duplicates in patterns 4 years ago
Jan Petykiewicz e401f37993 Improve documentation on disambiguate_pattern_names 4 years ago
Jan Petykiewicz f204d917c9 Add basic support for OASIS and update setup/docs for OASIS and DXF support 4 years ago
Jan Petykiewicz 6e957d761a newline 4 years ago
Jan Petykiewicz 8082743e17 move dose2dtype() into masque.file.utils, add dtype2dose(), and add a note that use_dtype_as_dose 4 years ago
Jan Petykiewicz 1b0b056bf9 break out build() which returns the gdsii.library.Library object 4 years ago
Jan Petykiewicz 22b2834d55 Documentation improvements 4 years ago
Jan Petykiewicz f9fb7ccad3 move gdsii import below standard packages 4 years ago
Jan Petykiewicz 5bd1e85d89 add experimental support for dxf 4 years ago
Jan Petykiewicz f260fe1374 comment fixup 4 years ago
Jan Petykiewicz 8302286a7a allow using a string for the layer
Can't use it in gdsii, but no reason to forbit it in masque...
4 years ago
Jan Petykiewicz 247b31a9d6 Don't include None in referenced_patterns_by_id() by default 4 years ago
Jan Petykiewicz f312f50751 some typing clarifications 4 years ago
Jan Petykiewicz ee8f015172 add subpattern_t type (generalizattion of SubPattern and GridRepetition) 4 years ago
Jan Petykiewicz 157df47884 Improve type annotations based on mypy errors 4 years ago
Jan Petykiewicz d33afc2bfd disambiguate some variable names 4 years ago
Jan Petykiewicz 8493364e9c Use a tuple for .identifier 4 years ago
Jan Petykiewicz 00394a62f0 Formally allow instances to point to None (i.e. an 'empty' pattern) 4 years ago
Jan Petykiewicz 9fa527ea11 improve handling of patterns with no bounding box 4 years ago
Jan Petykiewicz 334633662e Remove extra __author__ declarations 4 years ago
Jan Petykiewicz df179c9233 Improve type annotations for layer 4 years ago
jan 5adabfd25a Docstring format change
(new param and return format)
Also some minor code formatting fixes in utils
4 years ago
Jan Petykiewicz 0db70d2c50 Change GridRepetition rotation/mirrored/scale properties so that they consistently apply only to the individual instances; the rotate()/mirror()/scale_by() functions apply to the full array. Add *_elements() versions of the functions 4 years ago
Jan Petykiewicz 64b8e4dec8 Fix duplicates in gds with multiple top-level cells
Since the different patterns we are handed might reference the same
Patterns, we have to deepcopy the entire list at once so that we
don't make multiple copies of them.
4 years ago
Jan Petykiewicz e0db621595 allow locking of all objects 4 years ago
Jan Petykiewicz 09711116a7 allow more freedom in pattern names (e.g. names which violate spec, longer suffixes, filter warning, etc) 5 years ago
Jan Petykiewicz df9c4b52f4 add some todos 5 years ago
Jan Petykiewicz fcc4770534 Mirroring fix for gdsii import 5 years ago
Jan Petykiewicz f3669f2dfd fixup mirroring for subpatterns 5 years ago
Jan Petykiewicz 49982f1207 Add newlines to long log messages 5 years ago
jan 0ab5674fb9 strans needs starting value (0) 5 years ago
Jan Petykiewicz 75b42f6b63 Use normalize_mirror for all 2d-to-1d mirroring 5 years ago
Jan Petykiewicz 76f213a7ce use .identifier instead of the dynamically-created .ref_name 5 years ago
Jan Petykiewicz 67c9b510cb Rename svg functions to reflect their gds counterparts
Backwards incompatible!
5 years ago
Jan Petykiewicz 17451cd995 Force dose2dtype to accept only a list of patterns
Backwards incompatible, just like the rest of the gdsii rework
5 years ago
Jan Petykiewicz 1ef8518c60 Fix dose2dtype
Was broken during gdsii refactor
5 years ago
Jan Petykiewicz 4bd5542ce9 Clarify warning when adding suffix 5 years ago
Jan Petykiewicz 3ff9a8a506 Shorten long names when writing
Maybe turn this into an option later?
5 years ago
Jan Petykiewicz 376cbcce26 Use buffered IO
free ~10% speedup on read, probably similar on write
5 years ago
Jan Petykiewicz bc43be48bc Implement SquareCustom end-caps and gds output 5 years ago
Jan Petykiewicz 0bbcf3823a Fix .gz suffix detection 5 years ago
Jan Petykiewicz 380393dbc3 Fix mirror axis for arrays 5 years ago
Jan Petykiewicz 0018891200 handle defaults for path params 5 years ago
Jan Petykiewicz 485a7bc29d General overhaul of gdsii read/write functions
- read() and write() now take streams instead of filenames
- readfile() and writefile() were added to handle filenames and can
detect and handle '.gz' suffixed/compressed files.
- write_dose2dtype() and and read_dtype2dose() were removed in favor of
read(use_dtype_as_dose=True) and dose2dtype()
5 years ago
Jan Petykiewicz d6d26b4e46 Add modify_originals param and don't modify the pattern by default 5 years ago
Jan Petykiewicz 783c0c0844 Add support for gds paths 5 years ago
Jan Petykiewicz 79c89b2a4b Rename empty-named patterns on gdsii save 5 years ago
Jan Petykiewicz 8987cf8c44 mirror_signs are per-coordinate, not per-vector 5 years ago
Jan Petykiewicz 11bbf6aa0b Fix auto-renaming for structures 5 years ago
Jan Petykiewicz 5e6485f410 allow setting library name 5 years ago
Jan Petykiewicz 3094aa4043 Automatically disambiguate repeated pattern names.
Also check for >32 char names
5 years ago
Jan Petykiewicz 3815069136 Fix out-of-range angles 5 years ago
Jan Petykiewicz f7ce17c293 Fix mirroring 5 years ago
Jan Petykiewicz bc723d96f3 Counts should be ints 5 years ago
jan c50bd8e148 Add GridRepetition: a SubPattern-like object which implements regular spatial arrays.
Also rework masque.file.gdsii to consolidate write() and
write_dose2dtype()
5 years ago
Jan Petykiewicz 64cb1ced34 fix spacing (cosmetic) 6 years ago
jan a064e74fc1 Merge branch 'master' of mpxd.net:jan/masque 6 years ago
jan d17cf5b6be label should have a list of 1 point 6 years ago
Jan Petykiewicz 48b8087d0c Make read output consistent with write args 6 years ago
Jan Petykiewicz 4323d81abd Change default written library name 6 years ago
Jan Petykiewicz 7eda7ea873 Clarify docs -- read returns a dict 6 years ago
jan 108694551b add support for labels (e.g. GDS TEXT) 6 years ago
jan 8623dbbeac Put masque-layer to gds-layer conversion into a private function, and only call once per shape 6 years ago
jan 1f17c07bef remove errant print 6 years ago
jan 70f3ea9304 Handle mirrored gds shapes 6 years ago
jan 358f45c5fd Error out when we see absolute positioning in GDS
We don't support it (yet?)
6 years ago
jan c14daf2e5e Fix GDS AREF handling 6 years ago
jan 0170f45f75 GDS stores rotation in degrees 6 years ago
jan 04ff11d3cb check for zero-length names 6 years ago
jan e4545bfa30 use is_scalar for checking if layer is a tuple 6 years ago
jan 2ca27b0792 fix typo 7 years ago
jan b7b0da7432 Allow writing a list of patterns to gds (multiple topcells) 7 years ago
jan c451e93df0 Add option to check for invalid polygons when reading gds 7 years ago
jan 6aa1787ba0 add comment specifying what gdsii lib is used 7 years ago
jan 583dd7b018 allow caller to specify gdsii logical unit 7 years ago
jan 3b3ee216c2 add missing import 7 years ago