[WIP] Account for the collision environment cache when moving a collision object #3694
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR #3601 did not account for the cache (or other initialization) when moving an object.
I have a situation where there is a collision between the lid and the pipette (left picture), but when checking closely there is none, e.g. the lid is open ! But at the start of the task, the lid is closed (right picture) and later on moved though the MOVE operation. So I reverted PR 3601 and there were no more errors, but the meshes were all recreated from scratch...
The only thing I can think off is that it used a cached version of the object from the initial state (it could also be my setup). I can reproduce this behaviour on my setup.
This PR now passes a MOVE operation to the
createCollisionGeometry
method where the local threaded cache is used. Instead of recreating the mesh from scratch it uses the collision geometry already computed from the ADD operation.My first attempt on adding a test could not reproduce the error I see in my setup. Will have to reattempt later.