376cbcce26
Use buffered IO
...
free ~10% speedup on read, probably similar on write
2019-05-15 23:50:31 -07:00
a461446059
Custom deepcopy() implementations to help speed things up
2019-05-15 00:19:37 -07:00
94410dffc9
Fix clockwise (to-perp) path bends
2019-05-15 00:18:43 -07:00
2909b25fd7
Missing args for commit bc43be48bc
(cap_extensions)
2019-05-15 00:17:40 -07:00
a44a7c176e
Add type hints
2019-05-15 00:14:35 -07:00
bc43be48bc
Implement SquareCustom end-caps and gds output
2019-05-15 00:14:17 -07:00
d5665f54a7
Comment and type hint updates
2019-05-15 00:12:34 -07:00
b8b848c28f
add Pattern.is_empty()
2019-05-15 00:11:44 -07:00
0bbcf3823a
Fix .gz suffix detection
2019-05-15 00:11:28 -07:00
347716ec6e
Give shapes unique path-like identifiers when flattening
2019-05-13 23:55:42 -07:00
9ab1372c7b
Allow shapes to carry an arbitrary identifier (Tuple)
2019-05-13 23:55:14 -07:00
380393dbc3
Fix mirror axis for arrays
2019-05-07 00:58:39 -07:00
5741b38ca6
fixup remove_colinear_vertices
2019-05-06 21:07:53 -07:00
ee6699a7de
fix alternate polygon constructors
2019-04-20 15:44:45 -07:00
0018891200
handle defaults for path params
2019-04-20 15:42:42 -07:00
485a7bc29d
General overhaul of gdsii read/write functions
...
- read() and write() now take streams instead of filenames
- readfile() and writefile() were added to handle filenames and can
detect and handle '.gz' suffixed/compressed files.
- write_dose2dtype() and and read_dtype2dose() were removed in favor of
read(use_dtype_as_dose=True) and dose2dtype()
2019-04-20 15:29:56 -07:00
d6d26b4e46
Add modify_originals param and don't modify the pattern by default
2019-04-20 15:26:27 -07:00
783c0c0844
Add support for gds paths
2019-04-20 15:25:19 -07:00
d53c9487ff
Comment and error-checking fixes
2019-04-20 14:19:18 -07:00
8fe8bbd655
Normalization-related fixes
2019-04-20 14:18:52 -07:00
c6fac19fe0
Set standard constructor arg order and add rotation
and mirrored
args where reasonable
2019-04-20 14:18:25 -07:00
8dfb6d4440
Move vertex-cleanup functions to utils and generalize for non-closed paths
2019-04-20 00:35:53 -07:00
79c89b2a4b
Rename empty-named patterns on gdsii save
2019-04-18 01:14:08 -07:00
9ecd34b2f7
Cast offsets to float
2019-04-18 01:12:51 -07:00
8987cf8c44
mirror_signs are per-coordinate, not per-vector
2019-04-18 01:12:33 -07:00
e3586a4574
fix variable names (manhattanize_fast fixes)
2019-04-16 22:24:43 -07:00
c6830abe22
Fix corners in manhattanize_fast
2019-04-16 00:42:48 -07:00
11bbf6aa0b
Fix auto-renaming for structures
2019-04-16 00:41:18 -07:00
5e6485f410
allow setting library name
2019-04-15 22:43:03 -07:00
3094aa4043
Automatically disambiguate repeated pattern names.
...
Also check for >32 char names
2019-04-13 21:10:08 -07:00
3815069136
Fix out-of-range angles
2019-04-13 17:34:28 -07:00
f7ce17c293
Fix mirroring
2019-04-13 17:34:01 -07:00
bc723d96f3
Counts should be ints
2019-04-13 17:33:15 -07:00
90a068da80
tabs-to-spaces
2019-04-13 17:33:04 -07:00
b1ac39094e
gitignore build artifacts
2019-04-11 18:40:09 -07:00
cd1a1173c1
add pypi link to readme
2019-04-07 17:58:11 -07:00
877add3e45
Add classifiers
2019-04-07 17:54:21 -07:00
57bdb00d88
Update README to reflect upload to pypi
2019-04-07 17:53:32 -07:00
628845ca4b
Bump version to 0.5
2019-04-07 17:53:32 -07:00
f25c090bc4
add MANIFEST.in
2019-04-07 17:26:22 -07:00
023aea15e3
add classifiers
2019-04-07 17:24:53 -07:00
bc557a54b7
fix typo in comment
2019-03-31 20:57:18 -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
539198435c
Add .copy() and .deepcopy() convenience methods
2019-03-31 14:13:12 -07:00
eb6a5d8e8c
Add shapes.Polygon.rect() for simpler construction of various axis-aligned rectangles
2018-11-23 18:31:56 -08:00
ef305cbac9
Fix syntax
2018-11-23 18:09:14 -08:00
3ebb87bfc7
fix location of svgwrite dependency
2018-11-13 23:33:16 -08:00
5bce2005b6
Add docstring for manhattanize_fast
2018-11-13 23:32:44 -08:00
ab483fc9d4
Remove pyclipper dependency; remove shape.cut()
2018-11-13 23:32:26 -08:00
8dfd856e18
Subtattern .as_pattern() should deepcopy
2018-10-28 13:34:37 -07:00