Skip to content

v0.11

Choose a tag to compare

@jimy-byerley jimy-byerley released this 10 Feb 11:16
· 481 commits to master since this release

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 the Mesh methods, or used its attributes like Mesh.points through their list methods because typedlist behaves just like list in most cases.
    There is just few points to consider:

    • If you were using type checks like isinstance(mesh.points, list) you should put typedlist instead
    • 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 typedlist doesn't return a copy by a view of the original one (for efficency reasons). If you experience troubles with this change, use deepcopy() after slicing
  • ArcCentered(axis, a, b).mesh() now always return a mesh that reachs a and b even 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