Selection Use Cases
Selection Operations
A Selection operation is a user action that designates a group of objects upon which some operation is to be performed. The operation to be performed need not be part of the selection itself.
For a technical discussion of the design, see the Selection page.
For the purposes of this document, we concentrate only on selection of objects within a Render Window - selecting in other UI elements such as a Histogram will be covered in other documents.
Interactive Side Effects
A selection operation provides interactive feedback to the user, typically through the use of 'highlight' colors on the objects selected. Other interactive side effects can include:
- Adding the selected object to a graph. (see the use cases below)
- Highlighting a connected object in another view. For example, highlighting the same element in two separate Finite Element model views. Or, highlighting a node's data in a time series graph, when that node is selected in a Finite Element view.
Types of things that can be selected
Any type of output from a VTK filter can be selected, but we will expand the data types with the addition of other named types. For example, an isosurface is a named type whose data type is actually vtkPolydata.
- Nodes(points), Cells(elements)
- Isosurfaces
- Blocks
- Groups (a grouped set of 'something')
- Polydata
- Etc.
Constraints on Selection
The user may want constraints on the selection operation. By default, clicking a position on the screen should operate on only first (closest) object under the click. Rubber band selection by default should operate on appropriate objects within the view frustrum. Rubber band selection can be of 2 types:
- Select everything that lies entirely within the area selected.
- Select everything that lies entirely or partially within the area selected.
Constraints on selection may include:
- Select only objects on a surface.
- Select only certain types of objects.
Post-selection operation.
In creating a 'selection set', the user is creating a group of object that can be operated on after the selection operation. Actions performed after the selection operation can include:
- Creating a Data Set with only those members in it.
- Creating an ID set, which records the IDs of the members. This might be used by later operations, or as an input to a filter.
- Graphing data from the objects.
- Using the Data Set as a
Notes
- The word 'objects' in this document is meant to include any on-screen thing that the user sees. These can include, nodes (points), cells (elements), isosurfaces, edges, faces, surfaces, surface elements (tets, etc).
- In this document, we do not deal with 'mode control' - the action by the user that tells the interface what selection operation the user would like to perform. A simple example of this is the user clicking a 'pick points' mode or 'pick cells' mode, to inform the application that the selection operation is only interested in those types of objects.
- Selection operations should follow the typical add/subtract members opertions. An example of this is the Shift/click Ctrl/click operations in Windows, which can add or subtract members from the selection set.
Use Cases (under construction)
- Selection in an application over VTK
- Selection when there are multiple data sets.
- Selection of things like blocks.
- Selection of things in other UI elements.