Commit Graph

62 Commits (f3649704037202a5598f6880fcaf132db224e543)

Author SHA1 Message Date
Jan Petykiewicz f364970403 style and type fixes (per flake8)
could potentially fix some bugs in `Library` class and dxf reader
4 years ago
Jan Petykiewicz 7ed3b26b02 skip assignment in dfs() to avoid PatternLockedError on unmodified patterns 4 years ago
Jan Petykiewicz c6684936cf Improve docs, error messages, and type annotations 4 years ago
Jan Petykiewicz f51144ae6a misc doc/import/typing fixes 4 years ago
Jan Petykiewicz 3f59168cec Use chain() instead of adding lists 4 years ago
Jan Petykiewicz 0e04633f61 Force use of keyword args on most constructors 4 years ago
Jan Petykiewicz 49a3b4e322 add support for annotations
and other fixes
4 years ago
Jan Petykiewicz 629a6a9ba2 enable per-shape repetitions 4 years ago
Jan Petykiewicz bab40474a0 Add repetitions and split up code into traits 4 years ago
Jan Petykiewicz 89bd1e6abe only add new_children (marginally faster) 4 years ago
Jan Petykiewicz a4b5776208 Don't return early, since we add patterns to memo before they've been checked 4 years ago
Jan Petykiewicz 1ae9225130 add rename() method for Pattern 4 years ago
Jan Petykiewicz 53d2a9ca1a Only swap between tuple/list if actually necessary 4 years ago
Jan Petykiewicz 07ee25e735 add subpatterns_by_id() 4 years ago
Jan Petykiewicz 1976c6e684 Add `recursive` arg to referenced_patterns_by_id 4 years ago
Jan Petykiewicz 247b31a9d6 Don't include None in referenced_patterns_by_id() by default 4 years ago
Jan Petykiewicz ee8f015172 add subpattern_t type (generalizattion of SubPattern and GridRepetition) 4 years ago
Jan Petykiewicz c236fdb81b Add __repr__ methods to most objects`
These are closer to what __str__ should be and will likely change in the
future.
4 years ago
Jan Petykiewicz c79eee2a8c Stricter locking (lock contained ndarrays and turn lists into tuples) 4 years ago
Jan Petykiewicz 79990e3806 cosmetic changes 4 years ago
Jan Petykiewicz 157df47884 Improve type annotations based on mypy errors 4 years ago
Jan Petykiewicz d33afc2bfd disambiguate some variable names 4 years ago
Jan Petykiewicz f8e347c997 fix scale -> scale_by 4 years ago
Jan Petykiewicz 00394a62f0 Formally allow instances to point to None (i.e. an 'empty' pattern) 4 years ago
Jan Petykiewicz 334633662e Remove extra __author__ declarations 4 years ago
Jan Petykiewicz a4f556c3b3 clarify docs for referenced_patterns_by_id() 4 years ago
Jan Petykiewicz e684bd0e40 add Pattern.find_toplevel()
Topological sort for lists of Pattern objects, useful for finding top
cell of gds
4 years ago
Jan Petykiewicz 9f27a5093a add Pattern.referenced_patterns_by_name() 4 years ago
jan 5adabfd25a Docstring format change
(new param and return format)
Also some minor code formatting fixes in utils
4 years ago
Jan Petykiewicz e0db621595 allow locking of all objects 4 years ago
Jan Petykiewicz e5f28a7a92 Fix Pattern.get_bounds() 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 02c3d300e0 Wrap long lines (cosmetic) 5 years ago
Jan Petykiewicz 194a90fe7a Add Pattern.dfs()
Depth-first traversal with hierarchy and transform tracking
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 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 16c6bfc70a Cosmetic changes to argument lists 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 a6a3ae797c Fix Pattern.scale_by() for labels
Label offsets weren't being scaled.
5 years ago
Jan Petykiewicz a461446059 Custom deepcopy() implementations to help speed things up 5 years ago
Jan Petykiewicz b8b848c28f add Pattern.is_empty() 5 years ago
Jan Petykiewicz 347716ec6e Give shapes unique path-like identifiers when flattening 5 years ago
Jan Petykiewicz 90a068da80 tabs-to-spaces 5 years ago
jan c50bd8e148 Add GridRepetition: a SubPattern-like object which implements regular spatial arrays.
Also rework masque.file.gdsii to consolidate write() and
write_dose2dtype()
5 years ago
jan 108694551b add support for labels (e.g. GDS TEXT) 6 years ago
jan 4840c321c5 rename param for do_subset 6 years ago
jan 6fda991700 Rewrite/fix apply() implementation 6 years ago
jan 082236b6fd add missing arg 6 years ago