Commit Graph

437 Commits

Author SHA1 Message Date
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
jan
dcd8324eb4 Use to_polygons() for bounds calculation for simple path shapes 2019-05-20 21:06:28 -07:00
jan
2c9af3f63f Simplify normalize_mirror 2019-05-20 21:04:31 -07:00
jan
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
Jan Petykiewicz
376cbcce26 Use buffered IO
free ~10% speedup on read, probably similar on write
2019-05-15 23:50:31 -07:00
Jan Petykiewicz
a461446059 Custom deepcopy() implementations to help speed things up 2019-05-15 00:19:37 -07:00
Jan Petykiewicz
94410dffc9 Fix clockwise (to-perp) path bends 2019-05-15 00:18:43 -07:00
Jan Petykiewicz
2909b25fd7 Missing args for commit bc43be48bc (cap_extensions) 2019-05-15 00:17:40 -07:00
Jan Petykiewicz
a44a7c176e Add type hints 2019-05-15 00:14:35 -07:00
Jan Petykiewicz
bc43be48bc Implement SquareCustom end-caps and gds output 2019-05-15 00:14:17 -07:00
Jan Petykiewicz
d5665f54a7 Comment and type hint updates 2019-05-15 00:12:34 -07:00
Jan Petykiewicz
b8b848c28f add Pattern.is_empty() 2019-05-15 00:11:44 -07:00
Jan Petykiewicz
0bbcf3823a Fix .gz suffix detection 2019-05-15 00:11:28 -07:00
Jan Petykiewicz
347716ec6e Give shapes unique path-like identifiers when flattening 2019-05-13 23:55:42 -07:00
Jan Petykiewicz
9ab1372c7b Allow shapes to carry an arbitrary identifier (Tuple) 2019-05-13 23:55:14 -07:00