Skip to main content
Version: 🚧 2024-06 🚧

Displays

GAMA allows modelers to define two kinds of displays in a GUI experiment:

  • java 2D displays
  • OpenGL displays

These 2 displays allow modeler to display the same objects (agents, charts, texts ...). However, the OpenGL display offers extended features in particular in terms of 3D visualization and provdies better performance for large scale simulation.

Classical displays (java2D)​

The classical displays displaying any kind of content can be manipulated via the mouse (if no mouse event has been defined):

  • the mouse left press and move allows to move the camera (in 2D),
  • the mouse right click opens a context menu allowing the modeler to inspect displayed agents,
  • the wheel allows the modeler to zoom in or out.

Java2D display.

Each display provides several buttons to manipulate the display (from left to right):

  • Pause or resume the current view: when pressed, the display will not be displayed anymore while the simulation is still running,
  • Synchronize, when pressed, the display and the execution of the model are synchronized. Most of the time, this will reduce the speed of the simulation.
  • Zoom in,
  • Zoom to fit view,
  • Zoom out,
  • Take a snapshot: take a snapshot saved as a png image in the snapshots folder of the model folder.
  • Toggle antialias: Antialising produces smoother outputs, but comes with a cost in terms of speed and memory used.
  • Toggle fullscreen ESC: when pressed, the current view will be displayed in fullscreen. To exit this mode, press ESC key.
  • Browse through all displayed agents: when pressed a browse view will be open. Only the species displayed can be browsed.

Java2D display.

In addition to these commands, the contextual menu on the display provides three more commands (in "Presentation"):

  • Toggle overlay: display/hide a semi-transparent toolbar on the bottom of the display, showing the coordinates of the mouse, the zoom, the number of fps (frame per second) of the simulation, and a scale (taking into account the zoom level).
  • Toggle toolbar: display/hide the toolbar on the top of the display.
  • Background: Change the background color.

When the View is displayed in fullscreen mode, the toolbar is now located in the bottom of the View and contain in addition to the previously detailed toolbar, the toggle side-control, and overlay controls and controls of the experiment (run, pause, step...).

Toolbar in a fullscreen mode display.

OpenGL displays​

The OpenGL displays displaying offers all the feature provided by java2D but a 3D environnement:

  • same behaviors with left-click, right-click and wheel than in the Java2D displays.
  • command pressed (on Mac OS) or Ctrl (on Windows and Linux) + Left-Click pressed + mouse move: it controls the camera and modify its location/target/orientation.

It opens many ways to visualize and understand your simulation(s) with most of the classical features provided by a 3D environment. More details and illustrations of those features can be found here

Any OpenGL display has the same menu and buttons as the classical Java2D displays. Nevertheless, the sidebar provides more options to manage camera and other options related to OpenGL displays management.

Opengl display.

Camera commands​

KeyFunction
Double ClickZoom Fit
+Zoom In
-Zoom Out
UpVertical movement to the top
DownVertical movement to the bottom
LeftHorizontal movement to the left
RightHorizontal movement to the right
CTRL or CMD + UpRotate the model up (decrease the phi angle of the spherical coordinates)
CTRL or CMD + DownRotate the model down (increase the phi angle of the spherical coordinates)
CTRL or CMD + LeftRotate the model left (increase the theta angle of the spherical coordinates)
CTRL or CMD + RightRotate the model right (decrease the theta angle of the spherical coordinates)
SPACEReset the pivot to the center of the envelope
KEYPAD 2,4,6,8Quick rotation (increase/decrease phi/theta by 30°)
CTRL or CMD + LEFT_MOUSEMakes the camera rotate around the model
ALT+LEFT_MOUSEBegins Agent Selection using an ROI (Region of Interest)
SHIFT+LEFT_MOUSEDraws an ROI on the display, allowing to maintain it across frames
SCROLLZoom-in/out to the current target (center of the sphere)
WHEEL CLICKReset the pivot to the center of the envelope
  • Keystone: the keystone allows to modify the location of the 4 corner points of the environment bounding box. It can be use to project a simulation on a physical model as the projector can introduce some image distortions. Press k to enter in keystone mode, ones the keystone is done repress k to copy the facet in the clipboard. You can now paste your keystone value as a facet in the display.