[SOLVED] btSparseSdf compute null normal

guernika
Posts: 18
Joined: Fri May 07, 2010 2:20 pm

[SOLVED] btSparseSdf compute null normal

Post by guernika »

Hi to all,

I am developing a custom collision algorithm for deformable meshes.
I developed Dbvt colliders similar to the btSoftColliders::CollideSDF_RS.
Sometimes, the collision algorithm crashes because the Evaluate function of the collider compute a null normal vector.
Any hints?

Thank you in advance,

Francesco
Last edited by guernika on Tue Jan 28, 2014 12:06 pm, edited 1 time in total.
guernika
Posts: 18
Joined: Fri May 07, 2010 2:20 pm

Re: Custom collision algorithm: btSparseSdf compute null nor

Post by guernika »

Dear All,

I "solved" my problem using the function btGjkEpaSolver2::SignedDistance(...) instead of of the btSparseSDF::Evaluate(...)
Anyway, I'd like to understand why btSparseSDF::Evaluate(...) works correctly with convex shapes (e.g. btCylinder )
and doesn't work with convex triangle mesh shapes (e.g. a triangulation of a cylinder ).
The problem is a runtime error because btSparseSDF::Evaluate() computes a 0 length normal vector.
Any hint?
Do you think the use of btGjkEpaSolver2::SignedDistance(...) will increase computation times?

Thanks in advance,

Francesco