c236fdb81b
Add __repr__ methods to most objects`
...
These are closer to what __str__ should be and will likely change in the
future.
2020-05-11 20:31:07 -07:00
c79eee2a8c
Stricter locking (lock contained ndarrays and turn lists into tuples)
2020-05-11 19:29:00 -07:00
79990e3806
cosmetic changes
2020-05-11 19:10:00 -07:00
157df47884
Improve type annotations based on mypy errors
2020-05-11 19:09:35 -07:00
bd4085365f
Path should create a Path, not a Polygon
2020-05-11 19:04:25 -07:00
9bfb3bef9f
avoid unnecessarily nested classes
...
Still provide a class variable for convenience
2020-05-11 19:03:55 -07:00
d33afc2bfd
disambiguate some variable names
2020-05-11 19:01:02 -07:00
f8e347c997
fix scale -> scale_by
2020-05-11 19:00:25 -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
f8c49cdb5e
Add setter/getter for .pattern to catch wrong types
2020-05-11 18:52:17 -07:00
fa8fc52dd6
Improve consistency of ndarray members
2020-05-11 18:49:30 -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
95ab0934b7
bump version to v1.3
2020-03-14 15:54:20 -07:00
e9244055c6
Add type check for SubPattern's pattern arg
2020-03-14 15:53:35 -07:00
a4f556c3b3
clarify docs for referenced_patterns_by_id()
2020-03-14 15:53:05 -07:00
e684bd0e40
add Pattern.find_toplevel()
...
Topological sort for lists of Pattern objects, useful for finding top
cell of gds
2020-03-14 15:52:49 -07:00
9f27a5093a
add Pattern.referenced_patterns_by_name()
2020-03-14 15:52:10 -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
20981f10b9
Fix error name
...
InvalidDataError -> PatternError
2020-02-16 18:17:28 -08:00
a930c65d42
fix gridrepetition mirror
2020-02-10 10:09:07 -08:00
2a53d8ef4d
bump version to 1.2
2020-02-07 23:49: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
5ba67af816
bump version to 1.1
2019-12-31 13:56:18 -08:00
25c9e591cb
shapes: unlock before modifying during deepcopy
2019-12-13 21:18:31 -08:00
f2e6548d21
fix locking issue in __deepcopy__
2019-12-13 21:18:31 -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
0118bf0eb3
update ellip_grating.py example to use new gdsii interface
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
97b7eda21a
Force repetition counts to be integers
2019-12-06 22:28:11 -08:00
f3669f2dfd
fixup mirroring for subpatterns
2019-12-06 22:19:16 -08:00
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
7b0a567625
.mirrored should be an ndarray
2019-12-04 23:30:46 -08:00
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
7fd64e0abf
give better instructions for extras
2019-09-30 23:50:40 -07:00
7a3738bd0c
update TODO list
2019-09-30 23:50:29 -07:00
f471374b68
Use separate VERSION file
2019-09-27 21:03:52 -07:00
2259e7987b
don't rename shape.to_polygons() args
2019-06-09 23:59:55 -07:00
e5f28a7a92
Fix Pattern.get_bounds()
2019-06-09 23:57:54 -07:00
e057f6e4a2
Add binary files and vim buffers into gitignore
2019-05-25 12:46:17 -07:00
6801ee7fc0
Account for rotation/mirror in Pattern.dfs()
2019-05-25 12:41:51 -07:00
b5bd7cd9c8
Pattern.get_bounds() should return None if it's empty
...
s
2019-05-25 12:41:30 -07:00
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