247b31a9d6
Don't include None in referenced_patterns_by_id() by default
2020-05-17 14:05:19 -07:00
f312f50751
some typing clarifications
2020-05-12 14:17:35 -07:00
ee8f015172
add subpattern_t type (generalizattion of SubPattern and GridRepetition)
2020-05-12 14:17:17 -07:00
157df47884
Improve type annotations based on mypy errors
2020-05-11 19:09:35 -07:00
d33afc2bfd
disambiguate some variable names
2020-05-11 19:01:02 -07:00
8493364e9c
Use a tuple for .identifier
2020-05-11 18:59:47 -07:00
00394a62f0
Formally allow instances to point to None (i.e. an 'empty' pattern)
2020-05-11 18:58:57 -07:00
9fa527ea11
improve handling of patterns with no bounding box
2020-05-11 18:42:31 -07:00
334633662e
Remove extra __author__ declarations
2020-05-11 18:41:13 -07:00
df179c9233
Improve type annotations for layer
2020-05-11 18:39:02 -07:00
5adabfd25a
Docstring format change
...
(new param and return format)
Also some minor code formatting fixes in utils
2020-02-17 21:02:53 -08:00
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
2020-02-07 23:01:14 -08:00
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.
2020-01-07 22:17:00 -08:00
e0db621595
allow locking of all objects
2019-12-13 21:18:31 -08:00
09711116a7
allow more freedom in pattern names (e.g. names which violate spec, longer suffixes, filter warning, etc)
2019-12-12 01:48:36 -08:00
df9c4b52f4
add some todos
2019-12-12 01:48:24 -08:00
fcc4770534
Mirroring fix for gdsii import
2019-12-11 21:16:31 -08:00
f3669f2dfd
fixup mirroring for subpatterns
2019-12-06 22:19:16 -08:00
49982f1207
Add newlines to long log messages
2019-05-25 12:40:17 -07:00
0ab5674fb9
strans needs starting value (0)
2019-05-20 21:04:07 -07:00
75b42f6b63
Use normalize_mirror for all 2d-to-1d mirroring
2019-05-18 15:05:30 -07:00
76f213a7ce
use .identifier instead of the dynamically-created .ref_name
2019-05-17 20:51:53 -07:00
67c9b510cb
Rename svg functions to reflect their gds counterparts
...
Backwards incompatible!
2019-05-17 01:16:18 -07:00
17451cd995
Force dose2dtype to accept only a list of patterns
...
Backwards incompatible, just like the rest of the gdsii rework
2019-05-17 00:30:32 -07:00
1ef8518c60
Fix dose2dtype
...
Was broken during gdsii refactor
2019-05-17 00:28:46 -07:00
4bd5542ce9
Clarify warning when adding suffix
2019-05-15 23:51:17 -07:00
3ff9a8a506
Shorten long names when writing
...
Maybe turn this into an option later?
2019-05-15 23:51:00 -07:00
376cbcce26
Use buffered IO
...
free ~10% speedup on read, probably similar on write
2019-05-15 23:50:31 -07:00
bc43be48bc
Implement SquareCustom end-caps and gds output
2019-05-15 00:14:17 -07:00
0bbcf3823a
Fix .gz suffix detection
2019-05-15 00:11:28 -07:00
380393dbc3
Fix mirror axis for arrays
2019-05-07 00:58:39 -07:00
0018891200
handle defaults for path params
2019-04-20 15:42:42 -07:00
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()
2019-04-20 15:29:56 -07:00
d6d26b4e46
Add modify_originals param and don't modify the pattern by default
2019-04-20 15:26:27 -07:00
783c0c0844
Add support for gds paths
2019-04-20 15:25:19 -07:00
79c89b2a4b
Rename empty-named patterns on gdsii save
2019-04-18 01:14:08 -07:00
8987cf8c44
mirror_signs are per-coordinate, not per-vector
2019-04-18 01:12:33 -07:00
11bbf6aa0b
Fix auto-renaming for structures
2019-04-16 00:41:18 -07:00
5e6485f410
allow setting library name
2019-04-15 22:43:03 -07:00
3094aa4043
Automatically disambiguate repeated pattern names.
...
Also check for >32 char names
2019-04-13 21:10:08 -07:00
3815069136
Fix out-of-range angles
2019-04-13 17:34:28 -07:00
f7ce17c293
Fix mirroring
2019-04-13 17:34:01 -07:00
bc723d96f3
Counts should be ints
2019-04-13 17:33:15 -07:00
c50bd8e148
Add GridRepetition: a SubPattern-like object which implements regular spatial arrays.
...
Also rework masque.file.gdsii to consolidate write() and
write_dose2dtype()
2019-03-31 20:57:10 -07:00
64cb1ced34
fix spacing (cosmetic)
2018-10-28 13:31:23 -07:00
a064e74fc1
Merge branch 'master' of mpxd.net:jan/masque
2018-09-16 20:37:44 -07:00
d17cf5b6be
label should have a list of 1 point
2018-09-16 20:35:14 -07:00
48b8087d0c
Make read output consistent with write args
2018-09-16 20:19:28 -07:00
4323d81abd
Change default written library name
2018-09-16 20:18:21 -07:00
7eda7ea873
Clarify docs -- read returns a dict
2018-09-16 20:18:04 -07:00