Commit Graph

51 Commits

Author SHA1 Message Date
jan
91465b7175 don't keep track of y-mirroring separately from x 2023-10-15 16:18:33 -07:00
jan
9a28e1617c renderpather, get_bounds includes repetitions, Boundable 2023-10-15 16:18:33 -07:00
jan
22e1c6ae1d fix bounds 2023-10-15 16:18:33 -07:00
jan
e3c7150e18 missing import 2023-10-15 16:18:33 -07:00
jan
723d856915 repetitions affect bounds 2023-10-15 16:18:33 -07:00
1463535676 modernize type annotations 2023-10-15 16:18:33 -07:00
963918d1d9 various fixes and cleanup
mainly involving ports_to_data and data_to_ports
2023-10-15 16:18:32 -07:00
6b01b43559 flake8-aided fixes 2023-10-15 16:18:32 -07:00
jan
d9ae8dd6e3 wip 2023-10-15 16:18:32 -07:00
jan
7ca017d993 wip again 2023-10-15 16:18:32 -07:00
jan
7aaf73cb37 WIP: make libraries and names first-class! 2023-10-15 16:18:32 -07:00
a713967911 Add an alternate constructor for axis-aligned 2D grids 2023-01-04 22:56:17 -08:00
eb9682b1b8 Avoid calling new.unlock() in __deepcopy__()
since the new object's properties aren't necessarily deepcopied yet...
2022-06-08 21:12:39 -07:00
6886360f6d fix getting displacements in Arbitrary repetition 2022-04-01 17:35:21 -07:00
9f1c7aea01 add _displacements to __slots__ 2022-04-01 17:30:07 -07:00
jan
a4fe3d9e2e Use ArrayLike and NDArray wherever possible. Some type fixes and some related corner cases 2022-02-23 15:47:38 -08:00
jan
89f327ba37 reformat some multiline arg lists and add missing 'None' return types 2022-02-23 15:16:25 -08:00
4796676a4e use ArrayLike when accepting pseudo-ndarrays 2021-06-22 18:59:13 -07:00
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
49a3b4e322 add support for annotations
and other fixes
2020-09-20 16:32:17 -07:00
d14182998b various fixes 2020-09-20 16:32:17 -07:00
794ebb6b37 repetition related fixup 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
f3a1db30c5 Fix order of rotation/mirror/offset when calling as_pattern() on repetitions 2020-07-08 18:36:14 -07:00
d7a8bd7e0d Allow b_count=None 2020-05-17 23:00:25 -07:00
22b2834d55 Documentation improvements 2020-05-17 22:59:54 -07:00
8a404a2602 Allow setting subpattern identifier in constructors 2020-05-17 14:12:27 -07:00
5c6c10d2be fix repetition __repr__ 2020-05-12 14:17:50 -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
157df47884 Improve type annotations based on mypy errors 2020-05-11 19:09:35 -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
334633662e Remove extra __author__ declarations 2020-05-11 18:41:13 -07:00
jan
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
jan
20981f10b9 Fix error name
InvalidDataError -> PatternError
2020-02-16 18:17:28 -08:00
jan
a930c65d42 fix gridrepetition mirror 2020-02-10 10:09:07 -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
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
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
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
0b962999b2 Add arbitrary identifier for labels and subpattern/repetition 2019-05-17 00:34:01 -07:00
a461446059 Custom deepcopy() implementations to help speed things up 2019-05-15 00:19:37 -07:00
d5665f54a7 Comment and type hint updates 2019-05-15 00:12:34 -07:00
9ecd34b2f7 Cast offsets to float 2019-04-18 01:12:51 -07:00