v0.11
This version is one of the most important version of the lasts year 🍾 : it brings arrex a python module created especially for the needs of the madcad project (even though it is meant for a wider variety of tasks). It provides list-like containers that stores elements in buffers. allowing future big optimizations of madcad.
new features
- Thanks to @Gigahawk we now have a headless rendering option (#18) ! which means we can perform 3d rendering without having to display a window and manually take a screenshot. The documentation will come soon here
show()now accepts an existing scene as argument (It requires the openGL context to be shared)- All point, face, or edge lists are now of type
typedlist, allowing very fast conversion (without copy) to/from numpy 🎆
breaking changes
-
All point, face, or edge lists are now instances of
arrex.typedlist. This should not be a point it you just used your meshes from theMeshmethods, or used its attributes likeMesh.pointsthrough their list methods becausetypedlistbehaves just likelistin most cases.
There is just few points to consider:- If you were using type checks like
isinstance(mesh.points, list)you should puttypedlistinstead - If you were using strided slicing (such as
mesh.points[a:b:step]) it won't work any more since not yet supported by arrex - slicing a
typedlistdoesn't return a copy by a view of the original one (for efficency reasons). If you experience troubles with this change, usedeepcopy()after slicing
- If you were using type checks like
-
ArcCentered(axis, a, b).mesh()now always return a mesh that reachsaandbeven if the result is not an arc. This helps to have closed oulines even when the solver is set with a bad precision.
fixes
- fixed some rare boolean operation issues