|
f364970403
|
style and type fixes (per flake8)
could potentially fix some bugs in `Library` class and dxf reader
|
2020-10-16 19:00:50 -07:00 |
|
|
7ed3b26b02
|
skip assignment in dfs() to avoid PatternLockedError on unmodified patterns
|
2020-10-10 19:12:17 -07:00 |
|
|
c6684936cf
|
Improve docs, error messages, and type annotations
|
2020-09-26 17:33:46 -07:00 |
|
|
f51144ae6a
|
misc doc/import/typing fixes
|
2020-09-20 16:32:17 -07:00 |
|
|
3f59168cec
|
Use chain() instead of adding lists
|
2020-09-20 16:32:17 -07:00 |
|
|
0e04633f61
|
Force use of keyword args on most constructors
|
2020-09-20 16:32:17 -07:00 |
|
|
49a3b4e322
|
add support for annotations
and other fixes
|
2020-09-20 16:32:17 -07:00 |
|
|
629a6a9ba2
|
enable per-shape repetitions
|
2020-09-20 16:32:16 -07:00 |
|
|
bab40474a0
|
Add repetitions and split up code into traits
|
2020-09-20 16:32:16 -07:00 |
|
|
89bd1e6abe
|
only add new_children (marginally faster)
|
2020-07-12 03:50:32 -07:00 |
|
|
a4b5776208
|
Don't return early, since we add patterns to memo before they've been checked
|
2020-07-12 03:50:19 -07:00 |
|
|
1ae9225130
|
add rename() method for Pattern
|
2020-07-08 18:36:19 -07:00 |
|
|
53d2a9ca1a
|
Only swap between tuple/list if actually necessary
|
2020-05-23 19:39:48 -07:00 |
|
|
07ee25e735
|
add subpatterns_by_id()
|
2020-05-23 19:39:03 -07:00 |
|
|
1976c6e684
|
Add recursive arg to referenced_patterns_by_id
|
2020-05-23 19:38:48 -07:00 |
|
|
247b31a9d6
|
Don't include None in referenced_patterns_by_id() by default
|
2020-05-17 14:05:19 -07:00 |
|
|
ee8f015172
|
add subpattern_t type (generalizattion of SubPattern and GridRepetition)
|
2020-05-12 14:17:17 -07:00 |
|
|
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 |
|
|
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 |
|
|
00394a62f0
|
Formally allow instances to point to None (i.e. an 'empty' pattern)
|
2020-05-11 18:58:57 -07:00 |
|
|
334633662e
|
Remove extra __author__ declarations
|
2020-05-11 18:41:13 -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 |
|
|
e0db621595
|
allow locking of all objects
|
2019-12-13 21:18:31 -08:00 |
|
|
e5f28a7a92
|
Fix Pattern.get_bounds()
|
2019-06-09 23:57:54 -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 |
|
|
02c3d300e0
|
Wrap long lines (cosmetic)
|
2019-05-18 15:05:38 -07:00 |
|
|
194a90fe7a
|
Add Pattern.dfs()
Depth-first traversal with hierarchy and transform tracking
|
2019-05-18 15:05:05 -07:00 |
|
|
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 |
|
|
28084dfe45
|
Make name the first argument to Pattern() init
Major incompatibility with previous versions!!
|
2019-05-17 00:42:55 -07:00 |
|
|
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 |
|
|
16c6bfc70a
|
Cosmetic changes to argument lists
|
2019-05-17 00:39:46 -07:00 |
|
|
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 |
|
|
a6a3ae797c
|
Fix Pattern.scale_by() for labels
Label offsets weren't being scaled.
|
2019-05-15 23:51:51 -07:00 |
|
|
a461446059
|
Custom deepcopy() implementations to help speed things up
|
2019-05-15 00:19:37 -07:00 |
|
|
b8b848c28f
|
add Pattern.is_empty()
|
2019-05-15 00:11:44 -07:00 |
|
|
347716ec6e
|
Give shapes unique path-like identifiers when flattening
|
2019-05-13 23:55:42 -07:00 |
|
|
90a068da80
|
tabs-to-spaces
|
2019-04-13 17:33:04 -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 |
|
|
108694551b
|
add support for labels (e.g. GDS TEXT)
|
2018-08-30 23:06:31 -07:00 |
|
|
4840c321c5
|
rename param for do_subset
|
2018-04-18 07:48:08 -07:00 |
|
|
6fda991700
|
Rewrite/fix apply() implementation
|
2018-04-18 07:47:50 -07:00 |
|
|
082236b6fd
|
add missing arg
|
2018-04-16 15:34:14 -07:00 |
|