To rotate/translate the referential instead, just press the Axes button. To restore the initial mode, press Axes again. Changing the referential is equivalent to select Layer->Modify and change the layer parameters that define the observer position and orientation: Eye, Center and Up
Changing the referential has usually the opposite effect of changing the object, a confusing effect, even for experienced users: moving an object to the right has the same visual effect of moving the referential to the left. Moreover, changing the referential is usually a much more sensitive task than to change the objects: instead of changing an object some distance away, the eye position is directly changing. Using this mode with the ruler is thus probably more effective than dragging with the mouse, particularly when dragging along arcs far from the center, to rotate along the Z axis.
The (X,Y,Z) referential mentioned here is a set of 3 vectors pointing from the middle of the screen to: the right (X), the top (Y), the user (z). By default, the referential is positioned at (10, 0, 0) and the axes are orientated along (1,0,0) for X, (0,1,0) for Y and (0,0,1) for Z, but this is no longer the case when the layer referential is moved or rotated.
GAMGI supports 3 methods to rotate, move and scale:
1) Dragg the mouse over the drawing area. This is very intuitive and works very well with small- or medium-sized objects. However, it is not very precise, and is too slow for very large objects. Moreover, it is not possible to move along the Z axis and rotations around the Z-axis are less precise (though still intuitive).
2) Specify directly the rotation angles and translation vectors, using the Object Create and Object Modify dialogs. Although this is the most precise method, rotation and translation values must be introduced directly, which is usually very inconvenient unless the good values are known in advance.
3) After selecting the action in the tool bar: Rotate, Move or Scale, press the mouse over the positional ruler below, centered at 0, with larger negative changes at the far left and larger positive changes at the far right. Rotations/translations around/along the x,y,z axes are selected pressing the left,middle,right mouse buttons, respectively (scaling works with any button).
This method is more precise than the mouse dragging movements, without the need to introduce specific values for rotation, translation, scaling.
Rotating is always applied to the currently selected object when Axes is off and to the current layer referential when it is on.
Translating is always applied to the currently selected object when Axes is off and to the current layer referential when it is on.
Scaling is always applied to the currently selected object when Axes is off and to the current layer when it is on.
Pressing Undo shows a dialog allowing users to navigate back and forward through a list of previously saved layers, plus the current one. Pressing Cancel restores the original layer and closes the dialog, pressing Ok turns the visible layer into the new current layer. In this case, the old current layer becomes the last saved layer, thus becoming the last to be removed and the first to appear when the user presses Undo again and inspects the saved layers.
Undo keeps automatically any discontinuous action occurring in a layer but ignores completely continuous actions. A discontinuous action occurs when a user presses Ok, clicks over the ruler to rotate, move, scale an object, or in general when a clear boundary can be defined between what existed before and after.
Continuous actions occur when objects are moved, rotated, scaled, directly with the mouse, as parameters are changing almost continuously. If continuous actions were saved with Undo, in a few seconds all Undo levels would be filled up with almost equal layers and old Undo layers would be removed forever, turning the Undo mechanism much less useful. Moreover, continuous actions would be slow, because GAMGI would be saving things all the time.
To save a layer, just press Save and then Ok, this way adding the current layer to the list of saved configurations (this mechanism works also with Undo, but it is not as useful as here, because Undo layers are removed automatically, without user control, when the number of Undo levels is exceeded).
Although Save and Undo work exactly in the same way and complement each other, they use totally independent resources, even the number of Undo levels is independent of the number of Save levels.