sofa-framework / sofa

Real-time multi-physics simulation with an emphasis on medical simulation.
https://www.sofa-framework.org
GNU Lesser General Public License v2.1
934 stars 312 forks source link

[All] Clean collision detection in FreeMotionAnimationLoop #5042

Closed bakpaul closed 2 weeks ago

bakpaul commented 1 month ago

The inheritance link between CollisionResetVisitor and CollisionVisitor and some other had a consequence that ProcessGeometricalData was called multiple times in the FreeMotionAnimationLoop when the free motion and the collision detection where computed in parallel.

Another issue was that we had two time the timers for the substeps of the collision detection in the case of parallel computation : IMO only the AnimationLoop should have timers for global computation made by visitors. Here I remove the one of the Pipeline.


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

bakpaul commented 1 month ago

[ci-build][with-all-tests]

fredroy commented 1 month ago

[ci-build][with-all-tests][force-full-build]

bakpaul commented 2 weeks ago

It was introduced by @courtecuisse to be able to perform some processing before the collision detection to speed up the process of proximity computation in his plugins of collision detection.