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
5ba67af816
bump version to 1.1
4 years ago
Jan Petykiewicz
25c9e591cb
shapes: unlock before modifying during deepcopy
4 years ago
Jan Petykiewicz
f2e6548d21
fix locking issue in __deepcopy__
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)
4 years ago
Jan Petykiewicz
0118bf0eb3
update ellip_grating.py example to use new gdsii interface
4 years ago
Jan Petykiewicz
df9c4b52f4
add some todos
4 years ago
Jan Petykiewicz
fcc4770534
Mirroring fix for gdsii import
4 years ago
Jan Petykiewicz
97b7eda21a
Force repetition counts to be integers
5 years ago
Jan Petykiewicz
f3669f2dfd
fixup mirroring for subpatterns
5 years ago
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
5 years ago
Jan Petykiewicz
7b0a567625
.mirrored should be an ndarray
5 years ago
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
5 years ago
Jan Petykiewicz
7fd64e0abf
give better instructions for extras
5 years ago
Jan Petykiewicz
7a3738bd0c
update TODO list
5 years ago
Jan Petykiewicz
f471374b68
Use separate VERSION file
5 years ago
Jan Petykiewicz
2259e7987b
don't rename shape.to_polygons() args
5 years ago
Jan Petykiewicz
e5f28a7a92
Fix Pattern.get_bounds()
5 years ago
Jan Petykiewicz
e057f6e4a2
Add binary files and vim buffers into gitignore
5 years ago
Jan Petykiewicz
6801ee7fc0
Account for rotation/mirror in Pattern.dfs()
5 years ago
Jan Petykiewicz
b5bd7cd9c8
Pattern.get_bounds() should return None if it's empty
...
s
5 years ago
Jan Petykiewicz
49982f1207
Add newlines to long log messages
5 years ago
jan
dcd8324eb4
Use to_polygons() for bounds calculation for simple path shapes
5 years ago
jan
2c9af3f63f
Simplify normalize_mirror
5 years ago
jan
0ab5674fb9
strans needs starting value (0)
5 years ago
Jan Petykiewicz
02c3d300e0
Wrap long lines (cosmetic)
5 years ago
Jan Petykiewicz
75b42f6b63
Use normalize_mirror for all 2d-to-1d mirroring
5 years ago
Jan Petykiewicz
194a90fe7a
Add Pattern.dfs()
...
Depth-first traversal with hierarchy and transform tracking
5 years ago
Jan Petykiewicz
76f213a7ce
use .identifier instead of the dynamically-created .ref_name
5 years ago
Jan Petykiewicz
ca80b14ee4
Fix text get_bounds
...
was addressing list using numpy slices
5 years ago
Jan Petykiewicz
67c9b510cb
Rename svg functions to reflect their gds counterparts
...
Backwards incompatible!
5 years ago
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
5 years ago
Jan Petykiewicz
28084dfe45
Make name the first argument to Pattern() init
...
Major incompatibility with previous versions!!
5 years ago
Jan Petykiewicz
a154555902
Add TODO noting that polygon mirroring could be normalized
5 years ago
Jan Petykiewicz
f00d283c56
Add missing imports
5 years ago
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
5 years ago
Jan Petykiewicz
2e54cf1080
initialize identifier for text shapes
5 years ago
Jan Petykiewicz
16c6bfc70a
Cosmetic changes to argument lists
5 years ago
Jan Petykiewicz
58353b7884
Remove orphaned comment
5 years ago
Jan Petykiewicz
38f64f7c62
Use __slots__ for class members
...
Also use the other sort of type hints for instance variables
5 years ago
Jan Petykiewicz
0b962999b2
Add arbitrary identifier for labels and subpattern/repetition
5 years ago
Jan Petykiewicz
703c1aa6d8
Custom deepcopy for labels
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
a6a3ae797c
Fix Pattern.scale_by() for labels
...
Label offsets weren't being scaled.
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
a461446059
Custom deepcopy() implementations to help speed things up
5 years ago