[algorithm] Remove projection operation on tip#95
Conversation
…thm- completely unnecessary
a7364a9 to
dde0315
Compare
| { | ||
| tipProx = projectOnTip(surfProx->getPosition(), itTip->element()).prox; | ||
| if (!tipProx) continue; | ||
| tipProx->normalize(); |
There was a problem hiding this comment.
are you sure this normalization was never useful for the rest of the algo?
if yes, ok for me. Let's double check ci as well.
There was a problem hiding this comment.
Yes, it does nothing. Check the implementation:
CollisionAlgorithm/src/CollisionAlgorithm/proximity/PointProximity.h
Lines 45 to 47 in d758a81
normalize() is empty and isNormalized() always returns true.
There was a problem hiding this comment.
hum... and is it normal that it is empty?
There was a problem hiding this comment.
Yes it should be because the normalization simply corrects the projection by placing the proximity inside the simplex. I guess it's there because the projection can in fact shoot the new point outside the simplex. But the PointProximity is the most trivial case. Projecting on a point simply means "use that point".
Check the EdgeProximity implementation:
CollisionAlgorithm/src/CollisionAlgorithm/proximity/EdgeProximity.h
Lines 66 to 78 in d758a81
m_f0 and m_f1 are the bary coords.
It is not doing anything except computing the distance between two points, which we are not using.
Based on #88