3. User Interface Overview

This is the appearance of the main menu of the application at start.

DestinE Main Menu

Fig. 3.1 DestinE Main Menu

User can choose to start a session directly, or go to the Advanced Options screen.

../_images/2-2.png

Fig. 3.2 Advanced Options with the panel collapsed

From the Advanced Options screen the application allows to go back to the main menu, or even quit the application with the specific buttons below. At the bottom center a button to clear the cache is provided. The cache contains various files from the backend, related to show or stories. When a show or a story is loaded, all the files referenced from the backend are download and stored in the temporary cache. Clearing cache deletes those files. For more information about Shows and Stories respectively, refer to chapters 6 and 7.

../_images/2-3.png

Fig. 3.3 Advanced Options with the panel expanded

The most notable options of this screen allow user to create their own session, or join an existing one. Clicking on Host Session will prompt the creation of a session accessible by other users. It’s possible to join an existing session choosing from the list of all available ones. Alternatively, user can manually type the specific IP address, providing they have one. When the application starts, if there is an existing session hosted by another user connected in the same LAN, the client automatically detects it and connects to that session after a 10 seconds countdown. If multiple host sessions are present, the first created has the highest priority.

../_images/2-4.png

Fig. 3.4 Countdown before auto connecting to an existing host session

Once entering a session, the application switches to the screen scene, the UI at the borders of the screen and the 3D viewport on the inside, with the earth model at the center of it. Below is the default scene view in a single user session.

../_images/2-5.png

Fig. 3.5 Default 3D view at start

3.1. Multiuser session

In multi-user sessions, only one user can make modifications at a time to avoid interaction conflicts. To ensure conflict avoidance, multi-user mode provides an additional set of features, displaying scene control options at the top right of the screen, grouped together in a collapsible panel which can be collapsed or expanded through the triangle button at the top right of the UI.

../_images/2-6.png

Fig. 3.6 Multi user options panel in the UI scene

At the start of a new hosted session, no one has control on the scene and all the commands and UI elements that can have effect on the scene are disabled.

To take control, the use of the “Grab” button is required, which enables the whole UI, allowing user to make any modification and locking control from the other ones. No one else can grab until the control is released with the “Release” button, with the exception of the host user, who can take it in any moment, no matter if the scene edit is locked by a client.

../_images/2-7.png

Fig. 3.7 Multi user option panel when holding control

To avoid a user keeping the control for an indefinite time, especially in case of inactivity, it’s possible to launch a countdown with the “Timeout” button, at the end of which the scene edit is forcibly released from the current holder. Timeout countdown lasts 30 seconds.

../_images/2-8.png

Fig. 3.8 Multi user option panel after calling the timeout

If the holder is still active and wishes to keep editing the scene, they can reset the timeout with the button “Reset”, thus making it start from 30 again. The timeout stops and resets to 0 only upon release of the scene.

../_images/2-9.png

Fig. 3.9 Multi user option panel with reset enabled for the holder

3.2. In app UI

The UI is made of six sections: - Menu Bar - Tools Panel - Camera Panel - Hierarchy Panel - Inspector Panel - Timeline Panel

It’s worth to mention that the default view does not display the UI at its full use. The Hierarchy Panel can be fully explored when the scene is populated with additional layers other than the Earth, and the Inspector and Timeline panels are not immediately visible in this default view, as they become visible when a scene object is selected.

Below, an anticipation of the appearance of the UI with a fully populated scene.

../_images/2-10.png

Fig. 3.10 Example of UI with a fully populated scene, with a wind rendering on the 3D Earth and the related description.

Layer UI panels, specifically Hierarchy, Inspector and Timeline panels are briefly presented in this section, since they will be explained in details in Layer Menu, chapter 3.

Menu Bar, Tools Panel, and Camera Panel will be delved into in the following sub-chapter.

3.2.2. Tools Panel

Located below the Menu Bar, at the leftmost side of the screen, the Tools Panel provides several visual options. Currently, it displays the current show name (empty if there is no loaded show), the current selected object (empty if no currently selected object) in the 3D view (“Picked Object : “), and two graphical options, Enable Gizmo checkmark and Scale UI buttons.

Enable Gizmo toggles the visibility of the bounding boxes of layers and data sources in the 3D scene, while Scale UI allows to change the size of the UI through “+” and “-” buttons.

Keyboard shortcuts are also available to scale the UI:
  • CTRL + “.” Or CTRL + “+” increase UI size

  • CTRL + “,” or CTRL + “-” decrease UI size

The selected UI size will be retained for the next application runs.

../_images/2-12.png

Fig. 3.12 Tools Panel

../_images/2-13.png

Fig. 3.13 A volume layer (temperature volumetric dataset of Ianos Medicane)

When Enable Gizmo checkbox is activated and a crop-able layer or data source is selected (either by clicking on it within the 3D scenario or by selecting it from the Hierarchy Panel), draggable handles for cropping are displayed.

../_images/2-14.png

Fig. 3.14 Draggable handles of the bounding box of a volumetric dataset (Ianos Medicane)

3.2.3. Camera Panel

Below the Tools Panel is the Camera Panel, with many settings related to the camera, to help the user with the navigation in the 3D view.

../_images/2-15.png

Fig. 3.15 Camera Panel

The panel is a collapsible element under the label “Navigation”, and it’s expanded by default. | User can move the camera inside the 3D scene through a Radial navigation or a Fly navigation.

A quick overview of the options provided in this panel.
  • Radial and Fly radio buttons enable the respective navigation mode. With radial navigation the camera rotates around a 3D pivot point, while in fly navigation the camera movement is free.

Radial mode comes with two extra options.
  • With ROTATE AROUND PICKED OBJECT button, the bounding sphere of the current selected object is set as rotational pivot. If no object is selected the button is disabled. By default, the Earth center is the default pivot point.

  • With RADIAL NORTH button, camera orientation is reset toward the North.

Notice that both buttons are disabled with fly mode on.

  • Surface Collider checkbox toggles the camera collision with the bounding volumes of the objects in the scene. When toggled off, camera can go forward to the pivot point without limitations. The checkbox has to be enabled when rotating around the Earth so the camera can go forward until it reaches the surface, stopping at the Earth bounding sphere.

  • Speed shows the current camera movement onward/backward speed.

  • Speed Factor collapsible panel (collapsed by default) contains three speed parameters

  • Move for the translation speed of the camera

  • Rotate for the rotation speed of the camera around an object

  • Tilt for the rotation speed of the camera field of view around itself

  • SET VIEW AS DEFAULT set the current camera position and orientation as default, so that the camera is set back to those values upon reset. Those values are stored in the show information, which means that if the show is saved, the file will keep the camera values, and those values will be restored when the show is loaded.

../_images/2-16.png

Fig. 3.16 Camera Panel with Speed Factor options expanded

3.2.3.1. Camera Controls

The camera can be controlled through keyboard and mouse controls. Commands behave differently depending on the navigation mode. Here is a list of controls for both the modes.

Radial Navigation controls
  • Move On/Backward (Zoom In/Out): mouse wheel - W/S keys;

  • Rotate: mouse left click and drag - A/D keys - Up/Down/Right/Left Rotate arrows;

  • Tilt Up/Down: mouse right click and drag;

  • Roll Left/Right: mouse middle click and drag - J/L keys;

  • Reset camera position: Spacebar key.

Fly Navigation controls
  • Move On/Backward: W/S keys;

  • Increase/Decrease move speed: mouse wheel;

  • Rotate Point of View: mouse left click - A/D keys;

  • Roll Left/Right: mouse right click - J/L keys;

  • Tilt Up/Down (pitch): Up/Down arrow keys;

  • Pan Left/Right: Left/Right arrow keys.

3.2.4. Hierarchy Panel

Below the Camera Panel, the Hierarchy Panel provides a visual representation of the 3D scene structure in the form of a hierarchy tree, reflecting the relationship and dependencies between the object in the scene.
Detailed overview in chapter 3.3.1.

3.2.5. Inspector Panel

At the right side of the window, the Inspector Panel displays all available parameters for fine-tuning the representation of the selected Layer or Data Source.
Detailed overview in chapter 3.3.2.
Located at the bottom of the window, the Timeline Panel enables user to adjust the current timeline across the entire available time range.
This range spans from the minimum to the maximum timestamp of all the data sources and layers within the current Show or Story.
Detailed overview in chapter 3.3.3