Graphical User Interface

 



 

Overview

The graphical user interface of ZFEM consists mainly in a tools window and a set of viewer windows. Each viewer window can be interactively position and resized. The position, size as well as other state variables are saved automatically when the code exits to a directory called .zfemrc (or .zfemLiterc) in the user's home directory. These files are then read when ZFEM is launched again and the number of viewer windows, their positions and sizes are restored. The following figure shows the tools window and three viewer windows:

The lite version of ZFEM behaves in the same way except that some tools have been removed from the toolbar and only one viewer window can be opened, as seen below:

The tool window is used to open/save/close files, execute scripts, control (launch, link, close) viewers, control (save, make active) open projects, connect/disconnect from a running solver, control a navigation camera, perform calculations (extract mesh boundary, create cut-planes, iso-surfaces, deformation surfaces and filter points) and create different plots (points, mesh lines, surface shading, contour lines, vectors, curves, legends, text, traces).

Once a plot is requested, the resulting graphical objects are sent to the active (linked) viewers where they are rendered. The view point can then be interactively adjusted in the viewers. The attributes (color, line width, etc.) of the graphical objects can also be modified in the viewer. Other scene components as the axes, bounding box, lights, mirrors, etc. can be included and edited interactively in the viewer.

 



 

Tool Window

The main tool window consists in a series of toolbars, an output area and a command input prompt. The function of each tool icon is shown in the following figure:

The rightmost toolbar controls different interface components. The input and output areas can be displayed/hidden, as well as the window decorations (border) in order to save space on the screen. Each individual toolbar (group of icons) can be also hidden to save even more space as shown below:

Here the input, output and the rightmost toolbar are hidden. Tool tips, a quick reminder of the purpose of each icon, can be activated or deactivated. If the tips are active, a little message will be shown below the icon where the cursor is currently on, as shown below:

Note that the "tool tips" toggle button is in the "active" state on the right. When the program is terminated, the state of the window (size, position, input, output tool tips, and compress status of each toolbar) is saved to a resource file located in the home directory with name .zfemrc (or .zfemLiterc). This file is automatically read when the code is re-executed, preserving the appearance of the interface.

 



 

Viewer Window

Each viewer module has a graphical user interface that consists in a main window with a display area and a toolbar, as shown below:

The viewer module can be linked or un-linked from the link button. If a viewer is linked, it will receive any graphical objects generated by the worker modules. It will also forward mouse actions to other linked viewers or execute mouse actions performed on other linked viewers. Thus all the linked viewers will perform the same viewing transformations as well as editing actions. This is the basis for simultaneous visualization with shared points of view and collaborative visualization. The window name shows the viewer number, its host machine and an arrow "<----" if the viewer is linked.

Different viewing transformations can be selected from the first five buttons from the left:

By pressing the F1 key and any mouse button on the scene a small help window will popup showing the current action performed by each mouse button. This same window will show up if the wrong mouse button is pressed on the scene. The mouse buttons are numbered as follows: B1=left button, B2=middle button, B3=right button.

The graphical objects displayed in the scene are grouped into a tree hierarchy which can be displayed or hidden, as shown in the following figure:

In the example shown above the surface of an aircraft is colored according to domain decomposition used in a parallel computation. As can be seen on the tree the graphical objects (in this case surface shading) corresponding to each subdomain are grouped together. Pressing the left mouse button on any object or group of objects displays/hides the object or group. The objects displayed on the scene are the highlighted ones. Groups can be expanded or compressed by clicking on the icon to the left of the group name. Individual objects or complete groups can be edited (to change different attributes) by pressing the right mouse button on the object or group. Similarly objects or groups can be deleted by holding the DELETE key and pressing the right mouse button on the object or group. Objects or groups will be deleted in this way with no warning.