jan
e482107366
wip
1 year ago
Jan Petykiewicz
83b9af0cc3
Remove support for dose
...
Since there isn't GDS/OASIS level support for dose, this can be mostly
handled by using arbitrary layers/dtypes directly. Dose scaling isn't
handled as nicely that way, but it corresponds more directly to what
gets written to file.
1 year ago
Jan Petykiewicz
ecb61c9174
get rid of "identifier"
1 year ago
jan
1741cfb755
wip again
1 year ago
jan
42c3a2b1e1
WIP: make libraries and names first-class!
1 year ago
jan
4cc824526b
fix deepcopy for locked shapes
2 years ago
jan
a4fe3d9e2e
Use ArrayLike and NDArray wherever possible. Some type fixes and some related corner cases
2 years ago
jan
89f327ba37
reformat some multiline arg lists and add missing 'None' return types
2 years ago
Jan Petykiewicz
4796676a4e
use ArrayLike when accepting pseudo-ndarrays
3 years ago
Jan Petykiewicz
65466a5986
Force keyword args in more cases
3 years ago
Jan Petykiewicz
21ef4207df
Enable repetition arg for other Polygon constructors
3 years ago
Jan Petykiewicz
6c4fe0e9e4
Add octagon constructor
4 years ago
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
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
f57ccc073d
add `raw` arg, which skips setter funcs
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
d4fbdd8d27
add fast-path for 0-degree rotations
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
157df47884
Improve type annotations based on mypy errors
4 years ago
Jan Petykiewicz
fa8fc52dd6
Improve consistency of ndarray members
4 years ago
Jan Petykiewicz
334633662e
Remove extra __author__ declarations
4 years ago
Jan Petykiewicz
df179c9233
Improve type annotations for layer
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
25c9e591cb
shapes: unlock before modifying during deepcopy
5 years ago
Jan Petykiewicz
e0db621595
allow locking of all objects
5 years ago
Jan Petykiewicz
2259e7987b
don't rename shape.to_polygons() args
5 years ago
Jan Petykiewicz
a154555902
Add TODO noting that polygon mirroring could be normalized
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
a461446059
Custom deepcopy() implementations to help speed things up
5 years ago
Jan Petykiewicz
ee6699a7de
fix alternate polygon constructors
5 years ago
Jan Petykiewicz
d53c9487ff
Comment and error-checking fixes
5 years ago
Jan Petykiewicz
c6fac19fe0
Set standard constructor arg order and add `rotation` and `mirrored` args where reasonable
5 years ago
Jan Petykiewicz
8dfb6d4440
Move vertex-cleanup functions to utils and generalize for non-closed paths
5 years ago
jan
bc557a54b7
fix typo in comment
5 years ago
jan
eb6a5d8e8c
Add shapes.Polygon.rect() for simpler construction of various axis-aligned rectangles
6 years ago
jan
ef305cbac9
Fix syntax
6 years ago
Jan Petykiewicz
ab483fc9d4
Remove pyclipper dependency; remove shape.cut()
6 years ago
Jan Petykiewicz
df5c61f1d4
Clarify that rectangle/square is centered on the origin
...
Eventually, should allow arbitrary limit combination (rather than center
+ width)
6 years ago
jan
d5a255a9d7
Add mirror() to shapes
...
Might need to fix ordering on Text.to_polygons()
6 years ago
Jan Petykiewicz
9308454ad4
allow cutting any shape, always require pyclipper
7 years ago
Jan Petykiewicz
87c2ef5948
use pyclipper for polygon cutting
7 years ago
jan
83d163a102
fix typo
7 years ago
jan
f4b8f513d4
fix typos
7 years ago
jan
01395134ee
Also clean vertices before cutting
7 years ago
jan
723944018e
add documentation to Polygon.cut()
7 years ago