Hi,
disclaimer: I haven't looked at the patch yet. Just a few random thoughts coming to mind:
2009/12/29 Roland Meub <roland.meub@...173...>:
Just a few words to clarify the logic behind the rotation order: The current implementation exchanges positions of objects according to the order in which they where selected: The 1st selected object moves to postion of 2nd, the 2nd to the position of the 3rd, ... and the last to the position of the first.
So what is the order when the user selects the objects by drawing a rubberband around them, or by using "Select All" (Ctrl+A)? I suppose that it is predictable, but is it transparent to the user? And does it result in the behaviour the user expects (whatever that may be)? I think that the current behaviour is useful, but it's potentially dangerous to assume that it is always what the user wants.
This brings me to the question whether we should really try to implement a strict (for example clockwise) rotate order. The point is, that it's not ever possible to decide the right order. Imagine cases where all three objects are located at the same Y or X position)
One option would be to break ties by taking z-order into account. Or to move those objects as if they were a single object. But what does 'located at the same X' position mean anyway? When looking at the left border, the right border, the rotation center, ...? Just a few points to consider.
Max
P.S.: The issues you encountered with 3D boxes are indeed not caused by your code. Maybe they are already fixed by my recent commits. Otherwise I will take a look at them soon-ish.