When you are using Monte Carlo scheme to simulate equilibrium phases of convex hard-core molecules, namely, whose energy is infinite when in contact and 0 otherwise in a standard, cubic simulation box, all upscaling box moves are guaranteed not to introduce overlaps - the distances between all shapes are increased, and since they are convex, they cannot overlap. Of course this is not true for concave shapes.
I am interested in generalizing skipping the overlap check to general moves in a general, triclinic box. To put it more precisely, consider a box given by 3 vectors $\mathbf{m}_1, \mathbf{m}_2, \mathbf{m}_3$ with a common origin coinciding with coordinate system origin, which span parallelpiped describing the simulation box. Each convex shape is described by its relative coordinates $a_i \in [0, 1), i=1,2,3$, so the absolute position is
$$ \mathbf{r} = a_1 \mathbf{m}_1 + a_2 \mathbf{m}_2 + a_3 \mathbf{m}_3 $$
Now, most general box move is just choosing different box vectors $\mathbf{m}'_1, \mathbf{m}'_2, \mathbf{m}'_3$ by some perturbations of the old ones and redefining all absolute positions as
$$ \mathbf{r}' = a_1 \mathbf{m}'_1 + a_2 \mathbf{m}'_2 + a_3 \mathbf{m}'_3 $$
without any changes in relative coordinates or orientations of shapes.
The question is: how can I, just by comparing $\mathbf{m}_i$ and $\mathbf{m}'_i$ in some way, determine that the move is guaranteed not to introduce any overlaps for some arbitrary convex shapes, like it can be easily done for cubic box (for orthorhombic box it is also easy)?
When I dove into it, it is harder than is looks. First thought would be to make sure that the box transformation increases all distances, so we take a transformation matrix, subtract identity matrix and check if the resulting matrix is positive-definite. But that is incorrect - take for example cubes with almost-touching walls and perform a rotation of the box. Of course the distances now are the same, but the box rotated and cubes orientations didn't rotate with it (because of how I defined a box move), so they start overlapping.
Any ideas? I can also accept some estimated solutions - the ones that may not detect all cases, but the definitely don't skip moves that can introduce overlaps.