Releases: mikedh/trimesh
Releases · mikedh/trimesh
Release 4.12.2
What's Changed
Full Changelog: 4.12.1...4.12.2
Release 4.12.1
What's Changed
- In test_rps, use embreex only if it is installed by @musicinmybrain in #2531
- Release: Embree Hotfix by @mikedh in #2532
Full Changelog: 4.12.0...4.12.1
Release 4.12.0
What's Changed
- Fix duplicate ray hits in pyembree intersects_id (#2504) by @AmenLemiesa in #2524
- Add missing return on cache hit in
_get_colorsby @strophy in #2526 - Release: Embree 4 Support by @mikedh in #2520
- Release: Embree 4 + Doc Build Fix by @mikedh in #2529
- Release: Embree4 + Docs by @mikedh in #2530
New Contributors
- @AmenLemiesa made their first contribution in #2524
- @strophy made their first contribution in #2526
Full Changelog: 4.11.5...4.12.0
Release 4.11.5
Release: Fix fill_holes with face attributes (#2518)
Trimesh.fill_holes was adding new faces but haphazardly managing the
bookkeeping: it broke len(mesh.faces) == len(mesh.face_attributes[n])
if there were any holes filled.
- add
Trimesh.extend_faceswhich moves the bookkeeping of "preserve
cached face normals to avoid recalculating, pad face colors, pad face
attributes" to a generic mesh attribute in the same vein as
mesh.update_faces. - refactor the tesselation of the holes in
repair.fill_holesto use
triangulate_quadswhich implemented the hole filling logic but better.
Switch the winding search to a numpy indexing trick for new faces. - Have
geometry.triangulate_quadsuse the preexisting
util.triangle_fan_to_faceswhich uses numpy instead of a list
comprehension and is heavily used and tested in the codebase.
Also:
- try to test and fix #2516
Release 4.11.4
Release: Simple endian tests (#2512)
Even if we can't fully support other endian platforms, imports and
exports should explicitly set endian-ness of outputs.
- Adds a
make test-archwhich runs a subset of test on qemu/docker to
catch simple problems on little-endian and 32bit platforms - Adds fix from #2506 which implemented
Line.closedsetter to
auto-close polylines when passed. - Audit use of
np.einsum/np.dotfrom good discussion in #2514. My
conclusion was thatnumpy.dotis probably not the culprit and too core
to avoid. As part of looking into this I benchmarked our other uses of
np.einsumagainst simple numpy operations, it was on average ~2x
slower. I also tried the `np.einsum(... optimize=True) as discussed in
this interesting
post
but for the trimesh use cases of very simple expressions this was
substantially slower in every case I measured.
Release 4.11.3
Release 4.11.2
Hotfix for new ruff release (#2503)
Fix for new ruff rule in 0.15.0 blocking release.