New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve trimesh vs convex collisions for concave trimeshes #51

Merged
merged 1 commit into from Apr 2, 2017

Conversation

Projects
None yet
2 participants
@ppiastucki

This PR contains the Java port of the changes suggested and discussed in https://bitbucket.org/odedevs/ode/pull-requests/10/improve-convex-vs-trimesh-collisions/diff. The changes got merged into ODE's codebase some time ago and they complete the implementation of the convex vs trimesh collision detection by adding proper support for concave meshes and improved handling of internal edges.
The ideas were mostly taken from https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/bullet/GDC10_Coumans_Erwin_Contact.pdf.
The implementation in Java follows the same principles yet I tried to simplify the code as much as possible.
To enable the improved handling of internal edges the preprocess method needs to be called on the trimesh object to keep it consistent with the way it was implemented in ODE.
There is a simple test included along with a new demo called DemoBasketConvex. The demo can be used to compare the results before and after the patch is applied (the erroneous behaviour without the patch is also shown here: https://vimeo.com/163513398).

@tzaeschke tzaeschke changed the base branch from master to pr51 Apr 2, 2017

@tzaeschke tzaeschke merged commit 170876f into tzaeschke:pr51 Apr 2, 2017

@tzaeschke

This comment has been minimized.

Show comment
Hide comment
@tzaeschke

tzaeschke Apr 2, 2017

Owner

Thanks, looks good to me, I integrated the patch.
Looks like you had quite a discussion over at BitBucket...

Owner

tzaeschke commented Apr 2, 2017

Thanks, looks good to me, I integrated the patch.
Looks like you had quite a discussion over at BitBucket...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment