b3QHull allows users to create hull shapes from a list of points quickly. Example usage:
vec3* points = 0;
uint count = create_points(points);
b3QHull hull;
hull.Set(points, count);
Since I started altering the testbed for better maintainability, I prefered to drop this (tested) large change with a single commit. Some changes below:
Put some globals in their correct place,
Now Testbed uses the MVC pattern (Model-View Controller). This way it becomes better to maintain than using no pattern in my opinion.
Fixed some bugs in the debug draw interface.
Of course, updated almost all tests because of the differences.
Update script.
Bugfixes:
Simplify and correct one derivation of a second derivative of energy function.
Clear dynamic variables for static shapes
Invalidate contact for a particle when its type switches from dynamic to static
Improvements:
Allow user to apply force to a particle
Allow user to displace a particle
Compute kinetic energy
Store the mass of each particle, not only its inverse. It can improve performance because the solver needs the masses most of the time for computations
Add some code to find shared and non-shared edges. These algorithms don't work for non-manifold meshes
Remove some unecessary temporaries decreasing code readability