SFA TwoHand Mouse Functionality

This document describes how to access functionality that used to be reserved for the TwoHanded interface with the mouse.

This document is broken down into three major sections, one describing mouse based transforms, one describing subsetting with the mouse and one describing the volume cutting with the mouse.


Mouse Based Transforms

With trackers, SFA lets you grab the scene with the non-dominant hand cursor and reposition and orient the scene. There is a similar set of functionality available with the mouse.

Mouse based transforms are the default function for the mouse in SFA. That is, unlike the other mouse based functionality, you don't need to press a key on the keyboard to perform mouse based transforms. There are three major transform types available with the mouse: rotate, translate, and scale.

Rotation is performed by pressing the left mouse button and moving the mouse. As the user drags the mouse, it acts as a virtual trackball, allowing the user to rotate around all three axes simultaneously. Experimentation with this technique is the best way to learn how to use it.

Translation moves the scene along the X and Y axes with movement by the mouse in X and Y. The user presses and holds the middle mouse button, and drags the mouse left and right (for X translation) and up and down (for Y translation).

Scaling can be thought of as translation along the Z axes. By pressing and holding the right mouse button and dragging the mouse, the scene with either appear to get closer to the user or farther away, depending on the mouse movement. This allows the user to bring the scene closer to inspect an area more closely, or to move the scene away to get a broader idea of the entire dataset.


Subsetting With the Mouse

One of the methods available for users to reduce the number of glyphs being drawn in the scene (see a more complete list here) is to sweep out one or more subsets. Subsets are cubic volumes in the three-dimensional scene created by the user. If any subsets exist, glyphs lying outside the subsets never get drawn. If a single subset exists, only glyphs within that subset get drawn. If multiple subsets exist, glyphs in overlapping areas of the subsets get drawn in full resolution (all glyphs), and glyphs in non-overlapping areas get drawn in lower resolution (1 in every 5 glyphs is drawn).

Subsetting with the mouse is substantially different than subsetting with the trackers. Since the trackers are inherently three dimensional, and the mouse is not, we need to decompose the three dimensional task of creating a subset into two dimensions for interaction with the mouse.

Since the mouse buttons are reserved for transforms (see above), we need a way of distinguishing a subset sweep from transforms. The solution is to hold down the shift key while pressing and move the mouse.

To start sweeping out a subset with the mouse, hold down the shift key and press and hold the left mouse button. The first face the mouse cursor intersects is designated as the active face. Move the mouse along that face until the appropriate size has been reached, then release the mouse button.

There will now be a line stretching out from the active face to the opposite face. Move the mouse cursor along that line to move the starting face of the subset into the scene. Once you have located the starting face to where you want it, press the mouse button. Continue dragging down the line to add depth to the subset. Releasing the mouse button again finalizes the subset in place. Note that this sounds more complex than it is -- it will only take you one or two times doing this before you get the hang of it.

While a subset is being swept out, a partially transparent gray cube is drawn, indicating to the user the size of the subset they are creating. As soon as the subset has been completed, this cube is no longer drawn, to prevent the cube getting in the way of the data being visualized.

The other two mouse buttons (middle and right) are used for other purposes relating to subsetting. The middle mouse button is reserved for future work on dynamically resizing subset boxes with the mouse (not yet implemented). The right mouse button, when placed over a subset thumbnail, deletes that subset.

Multiple subsets are controlled through the use of thumbnail windows. For a discussion on SFA subsetting and an explanation of thumbnails, please see this page.

Volume Cutting (Plates)

SFA supports a number of alternative visualization techniques, centered around the use of 'volume cutting' or 'plate visualization'. In these, a small, rectangular 'plate' is swept through the volume by the mouse. The plate can be arbitrarily positioned and oriented within the volume. The plate then visualizes a particular component of the data, depending on the mode the plate is in.

See twohand doucmentation for a complete description of plate functionality (See the section on plates).

At this time, mouse based plates have not been implemented. We are hoping these will be implemented shortly, at which time documentation will be added.
 

back to main page


James Hall
Last Modified: June 18, 1999