Interactive handles
General Structure and Function
As mentioned above, profiles can have an arbitrary set of handles. Below is shown a list of handles for the default Normal profile (UniversalCtrl.tcw).
- Move only back and forth along this axis (X).
- (Cube) Scale bi-directionally BUT only along this axis (X).
- (Rectangular cuboid) Scale uni-directionally on this side (equivalent to dragging one face of the selection bounding box).
- (Rectangular cuboid) Scale uni-directionally on this side (equivalent to dragging one face of the selection bounding box (opposite face from #4)).
- (Rectangular cuboid) Scale along both axes (X, Y).
- (Colored arc and cylinder) Drag, but only on these two axes (X, Y).
- (Yellow sphere) the reference point.
- (Colored ball) Acts like the rotation handle for accurate snapping (Y).
- (Colored ball) Rotate around associated axis (X).
- (Colored ball) Rotate around associated axis (Z).
- (Colored arc) Rotate around associated axis.
- Boundary box
Snapping, accurate / non accurate handles
Handles that provide accurate transformation (with mouse snap) are marked with outlined callouts on the illustration (handles 7, 8). For the handle to perform an accurate transformation, it is necessary to specify yes for the handle_snap_to_center variable in the profile. In this case the mouse cursor will be pulled up to the reference point or to the center of the visible part of this handle.
'handle_snap_to_center' variable
In reality, even if the above mentioned variable is not set, a handle can perform accurate transformations – for example, using the edit bars.
Priority
A user can assign priority to handles. If several handles with varying priority get into the cursor aperture, the handle with the higher priority will be chosen. The following priorities are set for the default profile: Reference Point has the highest priority (number 0), Boundary box – the lowest (-1). Priority is controlled by the handle_priority variable:
'handle_priority'variable
Small handles
The ability to zoom in/out makes it reasonable to create handles of different sizes. A combination of large and small handles provides a way to fit interactive handles in the window tightly, without obstructing the view.
Seven handles at the spike of the X axis
Grouping handles by type of transformation
Tighter packing enabled by grouping of handles (portals) by type of transformation. Such portals are slightly larger than a handle, but they allow for all types of transformations. One of the problems with the classic selector was that it was impossible to change the rotation axis. Typically, a user would realize that he selected a wrong axis only after rotation was started. In Conceptual Selector, a portal that contains handles 8, 9, 10, 11 (see the handles layout) allows rotating around any axis.
The Normal profile includes the following portals:
Portals: movement along axes, movement in planes, rotation around axes.
Movement along axes, shown dynamically. Animated GIF (animation only in HTML version)