Visual representation

Foreground camera

The Conceptual Selector is created in a separate render scene that has its own geometry, lighting and list of materials. The scene is connected with the foreground camera, so it is drawn in front of drawing objects. Foreground camera is set depending on render mode

Drawing in front of the main scene provides visibility and accessibility of all the selector handles to the user, regardless of selected objects' positions.

Selector is in front of drawing objects.

Scaling

The user can set the minimum and maximum size of the Conceptual Selector on the screen in pixels. The benefit of an adjustable scale range over a fixed scale is that it gives users the capability to use a single movement (rotating the mouse wheel) to zoom in and get access to additional control handles that are grouped into sets by type of transformation (move, scale, rotate).
A part of selector with the size of 200 pixels and 500 pixels
                A part of selector with the size of 200 pixels and 500 pixels


In fact, saying "selector size" is not quite correct. The Selector model contains several sets of graphics that are drawn depending on the selector state and can have different sizes; in addition, there are auxiliary graphics that are not drawn at all and whose size does not matter. So there is the following assumption: Screen size (min/max) parameters defines the screen size of a unit cube (1 inch) from the TCW profile of selector.

Size of the visible part of Normal profile (UniversalCtrl.tcw)

 
The idea is that a developer of a TCW profile will fit the size of visible selector geometry into the unit cube.
Dependence of selector size on window zoom within the defined limits is practically linear, outside of the limits – a constant (has resemblance to hysteresis).

              Dependence of selector size on window zoom

 

    

Zoom in dynamic. Animated GIF. (Animation only in HTML version)

Only users can tell how convenient this scaling algorithm is in any instance. It is possible that scaling parameters, default values and the range will need to be adjusted, for example, for desktop and laptop, and touch screen.

Multi-window mode, active window

The Conceptual Selector is drawn in its entirety in the active window. In other windows (if they are open) – only parts of it are drawn. This was done to speed up drawing, as well as single out the active window.
Active control handles (that respond to mouse movements) are drawn only in the active window. Those that are not interactive (e.g. coordinate axes) are drawn in all windows.

                 Drawing in the active (left) and inactive windows.

The User can control the drawing mode in multi-window mode, by specifying 'yes or 'no' for handle_multi_view variable for the specific handle in the TCW profile.

                             'handle_multi_view' variable