Releases: heitzmann/gdstk
Releases · heitzmann/gdstk
v0.9.3
Bump version: 0.9.2 → 0.9.3
Release v0.9.1
Bug fix release with several improvements:
- Reading polygons with extremelly large number of vertices
- Integer overflow in boolean operations
GdsWriter
C++ API fix- Properly read zlib path from environment during build
- Ensure polygons are closed when laoding GDSII files
- Reference counting in
Reference.apply_repetition
andCell.flatten
Thanks to all who contributed to the PRs and fixes in this release!
Release v0.9.0
Fixed
- Bug when saving OASIS files with missing references.
Added
Reference.get_polygons
,Reference.get_paths
,Reference.get_labels
Library.rename_cell
Library::rename_cell
andLibrary::replace_cell
in the C++ API
Changed
Cell.filter
arguments modified to matchread_gds
.- Changed default tolerance for
read_gds
andread_oas
to be the library's rounding size. Reference::polygons
renamed toReference::get_polygons
in the C++ API.Reference::flexpaths
renamed toReference::get_flexpaths
in the C++ API.Reference::robustpaths
renamed toReference::get_robustpaths
in the C++ API.Reference::labels
renamed toReference::get_labels
in the C++ API.- Removed magnification argument from
Reference::init
andLabel::init
in the C++ API.
Release v0.8.3
Bug fix release:
- References from raw cells are kept from garbage collection while in use
- Allow assigning to
Reference.x_reflection
from Python - Errors in detection of arrays when exporting GDSII files
Release v0.8.2
Minor bugfix release. There are minor changes in the cmake script to aid building in Windows (thanks to @massarom)
Fixed
Cell.get_paths
not returning all FlexPaths when RobustPaths were present in the cell (thanks @jatoben)- Reference array is no longer transformed into multiple references when element displacement is zero
- Memory leaks in the python wrapper (thanks @jatoben)
Changed
- Set separation instead of offset in
FlexPath::init
andRobustPath::init
Release v0.8.1
Fixed
- Missing flag in OASIS bounding box property
- Bug in bounding box when using explicit repetitions
- Segfault when loading GDSII files with missing cells
Changed
- GdsWriter C++ API
- Safer initializers C++ API
Release v0.8.0
Added
Cell.get_polygons
,Cell.get_paths
, andCell.get_labels
return a copy of a cell’s polygons, paths or labels, including references, with the possibility of filtering by layer and typeLibrary.layers_and_datatypes
andLibrary.layers_and_texttypes
return tuples with the layer and data/text types found in the library.gdstk.gds_info
provide information about a GDSII file without fully loading it- Several
FlexPath
andRobustPath
attributes.
Fixed
- Label transforms in SVG output
- Label styling in SVG output
- Default label magnification when loading a GDSII file
- Bugs when loading some OASIS files
- Bug in OASIS output for some Manhattan geometry.
- Bug fix in Map::del
- Bounding box calculations take all repetitions into account
- Memory leaks
Changed
- Removed LAPACK dependency
- The implementation of layer and data/text type for shapes and labels use the type
Tag
in the C++ API - Style arguments renamed in
Cell.write_svg
Release v0.7.0
This version includes some breaking changes to the API. Most notably, the change in the gdstk.inside
function and the addition of the dedicated short-circuit versions gdstk.all_inside
and gdstk.any_inside
, plus methods Polygon.contain
, Polygon.contain_all
, and Polygon.contain_any
.
This version also introduces the new function gdstk.contour
for the parametric generation of geometries similarly to contour plots.
Added
contour
functionPolygon.transform
to apply a general transformation to the polygon verticesPolygon.contain
tests whether single points are inside the polygonPolygon.contain_all
andPolygon.contain_any
test multiple points with short circuitall_inside
andany_inside
test multiple points against multiple polygons with short circuit- Alternative function interfaces in the C++ API
Fixed
- Holes in boolean results could lead to incorrect geometry in specific cases
- Bug in boolean operations resulting in self-intersecting polygons
- Bug in boolean operations with clockwise-oriented polygons
- Unsupported reccords found when loading a library generate a warning, not an error.
Changed
inside
has changed to use the better interfaces: grouping has been removed, scaling is not necessary, and short-circuit is implemented inall_inside
andany_inside
Release v0.6.1
Minor bug fix release to fix the Library.read_oas
(in Python) and gdstk::read_oas
(in C++).
Release v0.6.0
Added
Library.replace
, used when adding cells with substitution of duplicate cell names- Added pyproject.toml (thanks Ben Gollmer for the fix)
Changed
Reference.cell
is now writable
Fixed
- Bug in Array::insert not incerasing the array count