Select Order Storage
This feature is not visible to user, but allows to get a logic behaviour when creating dimensions, as more than required vertices can be selected.
Changes on source are isolated via WITH_MECHANICAL_SELECT_ORDER_STORAGE and WITH_MECHANICAL compiler definition
It's added on 61f3c7cdf833392f41ffdc276491f24d11a28467
We have added a counter on BMesh, set on first place of the struct for perfomance. Each time an element is selected, it's added 1. It has a precision of int.
Each element has this number stored. The number is never reset, as selected elements have been flagged.
A pointer to BMesh for each element is also need to acces the counter
The changes are modiying the size of BMHeader wich is suposed to be <= 16, so could have some memory issues
The selection order is only stored on BMesh, so it will be reset when the BMesh is created (it is not stored is user exits from edit-mode, or opens a previous saved file)