Results at Gauss Points
This mode corresponds to a new development that will be performed in the frame of this project.
Values are displayed at Gauss points as point sprites in the 3D view.
Point sprites are processed using 2 textures (16x16 pixels):
Texture for intensity (brightness) |
|
Texture for alpha channel (transparency) |
Color and size of the points depend on the value of the results (scalar, modulus of vectors or each component of a vector, tensor or matrix)
The default sizes to use for point sprites presentation will be computed by the system. (therefore, these parameters cannot be defined in the preferences). Nevertheless, the minimum and maximum range values for the rendering will be parameterized in the configuration dialog.
The maximum size of the point sprite is limited (clamp) so that when user applies a high zoom factor, the whole scene remains visible
A point sprite is displayed in a 3D environment so that its size is depending on location within the 3D scene. At a given computed size, a point sprite will be bigger when it is near from the camera, than when it is far from the camera.
Fig. 8 : Point sprite display mode
Two different scalar bars are displayed simultaneously:
The first scale global corresponds to the minimum and maximum values founded for the variable at all time stamps (located on the left side). When active, the second is greyed and disabled (not used).
The second scale local defines the minimum and maximum values at the current time stamp for the variable (located on the right side). When active, the first one shows the limits of the second one by 2 black lines.
Possibility to display only one bar (defined in the preferences). In this case it is the local one.
Two modes are defined for these scalar bars:
Palette of colours (rainbow scale)
2 colors (bicolor scale)
Only one is active at a time. It uses all the available colors.
Mode |
2 bars / active = global bar |
2 bars / active = local bar |
1 active bar = local bar |
Palette |
|||
Bicolor red > 0 blue < 0 |
Fig. 9 : Scalar bars for results at Gauss point
The necessity to display simultaneously 2 synchronized scalars bars requires defining a new dialog for the configuration.
Besides, a dedicated dialog is also defined to customize the point sprite behaviour. Thus, when user activates the command, he is prompted by a dialog with 2 tabs. They are defined as follows:
Fig. 10 : Results at Gauss points primitive configuration dialog
Primitives allows user to choose the graphic primitive to use to display results at Gauss points. As a first step, the point sprite only will be used (LOT 1). Other primitives will be discussed later on at LOT 3, and are suggested here for information purpose only.
When user activates the Results at Gauss points function, the dialog of the Primitive tab is moved to an auto-adaptable dialog which content depends on the selected primitive. Three different primitives are available and defined as follows:
Fig. 11 : Results at Gauss points Point sprite primitive configuration dialog
Point sprite parameters remain unchanged regarding the definition given in LOT 1 specification.
Fig. 12 : Results at Gauss points OpenGL primitive configuration dialog
OpenGL point is a new mode to display results as simple OpenGL points. The Clamp parameter defines the maximum size of the OpenGL point as it is defined for the Point sprite option.
Fig. 13 : OpenGL points presentations
Fig. 14 : Results at Gauss points Geometrical sphere primitive configuration dialog
Geometrical Sphere is the second new mode that displays results using a standard sphere with a number of faces to be defined thought a Resolution parameter. Default Resolution is set to 8. This number corresponds to the Latitude and Longitude definitions of VTK sphere. The Number of Faces parameter not editable is computed by the system ( NbrFaces = 2*Resolution x [Resolution-2] ) and displayed for information purpose to end-user.
Fig. 15 : Sphere presentations (resp. with resolution 8 and 6)
Note:
In the case the number of faces (equal to the total number of points in the scene when no segmentation cursor is used or number of points within the cursor when a segmentation is in progress, multiplied by the number of faces of one Sphere in the current resolution) to display is greater than the number defined in the Notify when number of faces exceeds: parameter, then user is prompted by a dialog to continue or to cancel the display operation.
Fig. 16 : Notification message for existing and not modified VISU presentation
Size block remains unchanged as well.
For both of these new modes OpenGL points and Sphere the computation of size and the definition of colors applied to points are done in the same way as for point sprite.
The Maximum Size (Clamp) value corresponds to the maximum size that can have a point sprite during rendering whatever is the magnification of the point or the zoom of the view. Technically, it corresponds to setting up a clamp in the vertex shader. The unit is the pixel, and minimum value is defined to 1, maximum value can be either set to 512 pixels or read from the hardware by using OpenGL extension functions. Default value is set to 256 pixels.
Textures allows user to define the 2 textures (16x16 pixels) used for point sprite rendering. The main defines the shape of the point sprite, the alpha channel one defines the transparency filter by the threshold parameter (default is 0.1). The buttons at the end of each edit-box control open a standard open file dialog to look for a texture within the directory structure of the disk:
Fig. 17 : Open file dialog to load a texture
Range for min/max defines 2 values that will be respectively multiplied by a reference length (representative of the average size of cells of the mesh) to define the range for minimum and maximum size of a point during rendering (at magnification = 100%). Default values are:
Rainbow scale: min = 10%, max = 33%
Min size will be associated to the smallest real value (included negative values) of a result.
Max size will be associated to the largest real values of results
Bicolor scale: min = 0 (not editable), max = 33%
Null size will be associated to the 0 scalar value of a result.
Max size will be associated to the largest absolute values of results
Both values are dynamically updated by the system according to the selected scalar bar (see Fig. 18: Scalar bar configuration). In the case of a bicolor scale, the minimum value is set to 0 in the dialog and the control is disabled.
Magnification (%) corresponds to the change of the size in 2D of a result at Gauss point primitive or Gauss point primitives (not applicable on other existing presentations). Acceptable values are in the range ]0;N[. 100% means no magnification, 50% means half of its size, 200% mean twice its size and so forth. Default is set to 100%.
+/- Ratio corresponds to the number by which the magnification will be respectively multiplied or divided at edition. Minimum value is defined to 0.01, maximum is defined to 10. Default is set to 2.
Keyboard:
During rendering the scene, it is possible to modify the magnification (multiply/divide by the magnification ratio) by using M, m keys of the keyboard when the 3D view is active. The effect is immediately applied. The ratio is only defined through the dialog box.
Spacemouse:
The dynamic modification of the magnification is also possible using 2 buttons of the Spacemouse Plus (see Navigation using the spacemouse).
Fig. 18 : Scalar bar configuration
This last dialog allows user to define the characteristics of the scalar bars to display within the scene.
Active bar section
Local: when selected, the local bar will be active. Colors used for rendering the results are taken from this bar. If displayed, global bar will be greyed and 2 markers will define the limits of the local min/max.
Global: when selected, the global bar will be active. Colors for results are taken in this bar (i.e.: not all colors may be used to display results at a given time stamp). Local bar is greyed and inactive.
Displayed: when checked, the global bar is displayed, else it is not seen. This control is systematically checked and disabled when the global bar is defined as active.
Scalar range
Scalar Mode: this feature is the same as for standard scalar bar. It allows refining the value to be inspected:
Modulus: value of a scalar or modulus of a vector
Component N: Nth component of a vector, a tensor or a matrix
Colors and labels
Bicolor: 2 colors will be used for the active bar:
Red for positive values
Blue for negative values
These colors also correspond to colors associated to min/max values of the palette option.
Rainbow: A palette of several colors will be used to render the results. A regular and linear progression is considered from min to max.
Nb. of colors: defines the number of color to design the palette (up to 256 colors can be used).
Nb. of labels: defines the number of labels to be written in the bar as text markers.
Orientation
Vertical: bar will be vertical
Horizontal: bar will be horizontal
Origin
X: abscissa of the origin of the bar (from the left side)
Y: ordinate of the origin of the bar (from the bottom)
Dimension
Width: width of the each bar
Height: height of each bar
Spacing: space between both bar (only if the 2 bars are to be displayed)
Text properties button: correspond to the standard feature to define the font and text associated to the active bar
Finally, to exit the dialog and apply choices, press the OK button, else CANCEL button, to quit.
Gauss Points Geometry (new presentation)
This mode corresponds to a new development that will be performed in the frame of this project. It is very similar to the presentation of Results as Gauss points (discussed in the previous paragraph), so only differences are presented here.
Roughly, the differences between this presentation and the one for results at Gauss points are:
Size of points and color are fixed (because there is no result)
There are no scalar bars
Fig. 19 : Point sprite display mode (no results case)
Besides, a dedicated dialog is also defined to customize the point sprite behaviour. Thus, when user activates the command, he is prompted by a dialog box defined as follow:
Fig. 20 : Gauss points (Geometry) Point sprite primitive configuration dialog
Fig. 21 : Gauss points (Geometry) OpenGL primitive configuration dialog
Fig. 22 : Gauss points (Geometry) Geometrical Sphere primitive configuration dialog
The first part of the dialog is the same as for Fig. 10 : Results at Gauss points primitive configuration dialog.
Size defines a value that will be multiplied by a reference length (representative of the average size of cells of the mesh) to define the size of points during rendering (at magnification = 100%). Default values 10%.
Magnification and Ratio have the same meaning as for Results at Gauss points presentation.
Color: define the unique color for Gauss. It is a button control. When user press it, he can choose a color from a standard color configuration dialog:
Fig. 23 : Standard color dialog
Display of a deformed shape
Once the option is activated, user is prompted by a dialog made of two tabs. First tab defined the following dialog to set-up the presentation at Gauss points and scale factor:
Fig. 24 : Deformed Shape dialog Point sprite primitive
Scale Factor is a ratio that is applied to the deformation at each Gauss points to amplify it for user understanding
All other parameters have already been explained. Content is modified depending on chosen Primitive.
Fig. 25 : Deformed Shape dialog OpenGL primitive
Fig. 26 : Deformed Shape dialog Geometrical Sphere primitive
The second tab of the dialog allows the user to set-up scalar bars in the same way as for Display Results at Gauss points presentation.
When user validates the dialog by pressing the OK button, the 3D view is updated to display the Gauss points, using the selected primitive form, at their new location.
In this display mode, the mesh is never displayed.