Jan Petykiewicz
2a53d8ef4d
bump version to 1.2
2020-02-07 23:49:53 -08:00
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
2020-02-07 23:01:14 -08:00
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.
2020-01-07 22:17:00 -08:00
5ba67af816
bump version to 1.1
2019-12-31 13:56:18 -08:00
Jan Petykiewicz
25c9e591cb
shapes: unlock before modifying during deepcopy
2019-12-13 21:18:31 -08:00
Jan Petykiewicz
f2e6548d21
fix locking issue in __deepcopy__
2019-12-13 21:18:31 -08:00
Jan Petykiewicz
e0db621595
allow locking of all objects
2019-12-13 21:18:31 -08:00
Jan Petykiewicz
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
Jan Petykiewicz
0118bf0eb3
update ellip_grating.py example to use new gdsii interface
2019-12-12 01:48:36 -08:00
Jan Petykiewicz
df9c4b52f4
add some todos
2019-12-12 01:48:24 -08:00
Jan Petykiewicz
fcc4770534
Mirroring fix for gdsii import
2019-12-11 21:16:31 -08:00
Jan Petykiewicz
97b7eda21a
Force repetition counts to be integers
2019-12-06 22:28:11 -08:00
Jan Petykiewicz
f3669f2dfd
fixup mirroring for subpatterns
2019-12-06 22:19:16 -08:00
Jan Petykiewicz
4bc51f765f
custom __copy__ for SubPattern and GridRepetition
...
the difference between copy/deepcopy should be whether a copy is made of
the contained pattern
2019-12-06 22:19:11 -08:00
Jan Petykiewicz
7b0a567625
.mirrored should be an ndarray
2019-12-04 23:30:46 -08:00
Jan Petykiewicz
bece3136be
Bump version number to 1.0
...
Note MAJOR incompatibilities with previous version, including
- order of Pattern() args
- save format
- i/o functions
2019-09-30 23:54:21 -07:00
Jan Petykiewicz
7fd64e0abf
give better instructions for extras
2019-09-30 23:50:40 -07:00
Jan Petykiewicz
7a3738bd0c
update TODO list
2019-09-30 23:50:29 -07:00
Jan Petykiewicz
f471374b68
Use separate VERSION file
2019-09-27 21:03:52 -07:00
Jan Petykiewicz
2259e7987b
don't rename shape.to_polygons() args
2019-06-09 23:59:55 -07:00
Jan Petykiewicz
e5f28a7a92
Fix Pattern.get_bounds()
2019-06-09 23:57:54 -07:00
Jan Petykiewicz
e057f6e4a2
Add binary files and vim buffers into gitignore
2019-05-25 12:46:17 -07:00
Jan Petykiewicz
6801ee7fc0
Account for rotation/mirror in Pattern.dfs()
2019-05-25 12:41:51 -07:00
Jan Petykiewicz
b5bd7cd9c8
Pattern.get_bounds() should return None if it's empty
...
s
2019-05-25 12:41:30 -07:00
Jan Petykiewicz
49982f1207
Add newlines to long log messages
2019-05-25 12:40:17 -07:00
dcd8324eb4
Use to_polygons() for bounds calculation for simple path shapes
2019-05-20 21:06:28 -07:00
2c9af3f63f
Simplify normalize_mirror
2019-05-20 21:04:31 -07:00
0ab5674fb9
strans needs starting value (0)
2019-05-20 21:04:07 -07:00
Jan Petykiewicz
02c3d300e0
Wrap long lines (cosmetic)
2019-05-18 15:05:38 -07:00
Jan Petykiewicz
75b42f6b63
Use normalize_mirror for all 2d-to-1d mirroring
2019-05-18 15:05:30 -07:00
Jan Petykiewicz
194a90fe7a
Add Pattern.dfs()
...
Depth-first traversal with hierarchy and transform tracking
2019-05-18 15:05:05 -07:00
Jan Petykiewicz
76f213a7ce
use .identifier instead of the dynamically-created .ref_name
2019-05-17 20:51:53 -07:00
Jan Petykiewicz
ca80b14ee4
Fix text get_bounds
...
was addressing list using numpy slices
2019-05-17 01:20:10 -07:00
Jan Petykiewicz
67c9b510cb
Rename svg functions to reflect their gds counterparts
...
Backwards incompatible!
2019-05-17 01:16:18 -07:00
Jan Petykiewicz
503a77925e
Move away from __dict__ style save/load
...
Incompatible with previous versions, but necessary given the move to
__slots__.
Also use pickle.HIGHEST_PROTOCOL
2019-05-17 00:44:10 -07:00
Jan Petykiewicz
28084dfe45
Make name the first argument to Pattern() init
...
Major incompatibility with previous versions!!
2019-05-17 00:42:55 -07:00
Jan Petykiewicz
a154555902
Add TODO noting that polygon mirroring could be normalized
2019-05-17 00:42:14 -07:00
Jan Petykiewicz
f00d283c56
Add missing imports
2019-05-17 00:41:43 -07:00
Jan Petykiewicz
032c410b43
Add mirror_x to extrinsic properties
...
It's not implemented for Polygon shapes, since I haven't thought about
how to normalize those for reflection yet
2019-05-17 00:41:26 -07:00
Jan Petykiewicz
2e54cf1080
initialize identifier for text shapes
2019-05-17 00:39:56 -07:00
Jan Petykiewicz
16c6bfc70a
Cosmetic changes to argument lists
2019-05-17 00:39:46 -07:00
Jan Petykiewicz
58353b7884
Remove orphaned comment
2019-05-17 00:38:20 -07:00
Jan Petykiewicz
38f64f7c62
Use __slots__ for class members
...
Also use the other sort of type hints for instance variables
2019-05-17 00:37:56 -07:00
Jan Petykiewicz
0b962999b2
Add arbitrary identifier for labels and subpattern/repetition
2019-05-17 00:34:01 -07:00
Jan Petykiewicz
703c1aa6d8
Custom deepcopy for labels
2019-05-17 00:32:51 -07:00
Jan Petykiewicz
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
Jan Petykiewicz
1ef8518c60
Fix dose2dtype
...
Was broken during gdsii refactor
2019-05-17 00:28:46 -07:00
Jan Petykiewicz
a6a3ae797c
Fix Pattern.scale_by() for labels
...
Label offsets weren't being scaled.
2019-05-15 23:51:51 -07:00
Jan Petykiewicz
4bd5542ce9
Clarify warning when adding suffix
2019-05-15 23:51:17 -07:00
Jan Petykiewicz
3ff9a8a506
Shorten long names when writing
...
Maybe turn this into an option later?
2019-05-15 23:51:00 -07:00