mikedh / trimesh

Python library for loading and using triangular meshes.
https://trimesh.org
MIT License
3k stars 580 forks source link

Feature request: TestVHACD in favor of pyVHACD #2045

Closed nepfaff closed 1 year ago

nepfaff commented 1 year ago

https://github.com/mikedh/trimesh/commit/51b9a241c983b7f77aac3ed9a1998e2e841758df replaces TestVHACD with pyVHACD. I understand that it is desirable to replace the heavy TestVHACD dependency with the pip-installable pyVHACD one. However, pyVHACD is a binding with significantly fewer features. It is thus no longer possible to manually tune the desired pyVHACD parameters. Tuning the parameters is a feature that I used a lot and that other packages (e.g. this one) make use of.

mikedh commented 1 year ago

Thanks for the report! Yeah the packaging is a lot better on pyvhacd and iirc TestVHACD used a older major release version of VHACD. Happy to hold off on a release until we sort this out.

This is probably an oversimplification but it looks like the binding needs to pass in a Parameters object? It looks like the binding is already creating an empty parameters object, and we probably just need to pass the values in. This quick demo attempt appeared to work.

Although the default args and pybind def need to be cleaned up so that default values work so using the binding doesn't require passing every parameter. Would you be interested in filling in those parameters and then PR'ing to pyvhacd? Would that solve this issue?

nepfaff commented 1 year ago

The suggestion sounds like the best approach. Thank you for looking into this and already testing the suggested approach! I'm happy to create a PR for it. I will put it on my calendar for next week

nepfaff commented 1 year ago

Is there a timeline planned for the pypi release that includes this update?

mikedh commented 1 year ago

Just merged 😅, should be on PyPi now in 4.0.0. Thanks for the PR's!!