Skip to content

Add 'case 0' to the switch handling separation plane, that does nothing - skips switch and moves to the regular test.

Karol Brzezinski requested to merge fix_poly_switch into master

This is a minor fix to an unnecessary warning raised each time the contact detection algorithm searches for a new separation plane. It looks serious, and some people even think that they encounter some errors (answers#3966). The warning was introduced in the following commit (c1222a4b) while tidying up switch blocks (missing default behaviour).

The role of the switch that is fixed by this commit is searching for a separation plane based on prior information (cases 1-3). It can speed up the function termination by starting the search from 'good candidates'. If a separation plane is not found, a regular search is conducted (code after switch block). If there is no prior information about the separation plane ('case 0'), then the algorithm should move straight to the regular search. Summarising, the regular search cannot be put in the default behaviour or 'case 0', because it is possible that the algorithm would fail to find an existing separation plane during the search in cases 1-3.

One solution is to do nothing as default. I decided on another one and added 'case 0' to the switch handling separation plane. This case does nothing - it skips the switch and moves to the regular test.

Merge request reports

Loading