You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
Robustness
Fall back to de Casteljau algorithm for evaluation on high degree curves (#264). Fixed #263. The more efficient evaluate_multi_vs()function relies on the ability to compute binomial coefficients (n C k) but after (55 C 26) these values cannot be computed in floating point without roundoff and for very large degrees these values overflow.
Python Changes
Packaging
Switched to delvewheel for repairing Windows wheels (#307). This is similar to how Linux and macOS packaging already work. This is vastly superior to the homegrown approach previously used with extra-dll.
Dropped support for Python 3.7 and added support for Python 3.10 and 3.11 (#271, #302).
Add strict check for Python version on source installs. Fixed #278.
Make missing BEZIER_INSTALL_PREFIX error message more helpful. In particular, add a suggestion to set BEZIER_NO_EXTENSION for a source only install if BEZIER_INSTALL_PREFIX cannot be set. Fixed #277.
Use cibuildwheel to automate building wheels as part of release (#308).
Bug Fixes
Allow the extra DLL directory to be absent on Windows. For binary wheel installs, this directory contains the libbezier DLL (e.g. bezier.libs\bezier-2a44d276.dll). For pure Python installs, the bezier.libs directory will be absent. (#307, #255). Fixed #254.
Bug fix for clip_range() (doc). Intersections with the t=0 / t=1 sides of the fat line were not taken into account and a value for s_max could be accidentally left unset if the intersections occurred in an order where the s-value decreased throughout (#259).
Breaking Changes
Removing Surface alias for the Triangletype (#252). The Surface type was deprecated (and converted to an alias) in the 2020.1.14 release.
Additive Changes
Renaming all "private" _verify args to verify (#251). For example, in Curve.intersect() (doc)
Adding provisional support for self-intersection checks in planar curves (#265, #267). Fixed #165 and #171. Supported via Curve.self_intersections()method.
Added alpha argument to Triangle.plot() and CurvedPolygon.plot() methods (#296).
Documentation
Making all docs pages import external packages at least once (#257). Fixed #210.