Back

RealGUI

sofa::qt::RealGUI
BaseGUI
Abstract (AI generated)

`RealGUI` provides graphical user interface functionalities in the SOFA framework, enabling visualization and control of simulation environments.

Metadata
module
sofa.qt.RealGUI.cpp
namespace
sofa::qt
include
sofa/qt/RealGUI.h
inherits
  • BaseGUI
No description data.

The RealGUI component in the SOFA framework is primarily concerned with providing graphical user interface (GUI) functionalities for interacting with simulations. It inherits from BaseGUI, which suggests it serves as a base class or template for GUI implementations within SOFA. The RealGUI component does not contribute directly to the mathematical and physical models used in finite element simulations, such as the mass matrix $M$, stiffness matrix $K$, internal force $ extbf{f}_{int}$, residual $R$, constitutive laws (strain measures, stress tensors, hyperelastic potentials), or damping models. Instead, it provides mechanisms for visualizing simulation results and controlling various aspects of the simulation environment.

Key functionalities include:
- Creating and managing viewers (CreateViewer, initViewer)
- Setting display configurations such as background color (setBackgroundColor) and resolution (setViewerResolution)
- Handling user interactions like dragging and dropping files (dragEnterEvent, dropEvent), key presses (keyPressEvent), and mouse events
- Managing simulation scenes, including loading and unloading scenes (fileOpenSimu, unloadScene)
- Updating the display and visualizations during the main loop of the application (update, redraw, stepMainLoop)

The component also provides methods for saving simulation states (dumpState), exporting scenes to OBJ format (exportOBJ), and managing profiling information (displayComputationTime). These functionalities do not contribute directly to the physical or mathematical models but are essential for creating an interactive and user-friendly simulation environment.

In summary, RealGUI is a component focused on GUI operations and does not have significant mathematical or physical content related to FEM simulations. It primarily supports interaction with the SOFA framework's simulation capabilities through visual interfaces.

Methods
const QMetaObject * metaObject () virtual
void * qt_metacast (const char * ) virtual
int qt_metacall (QMetaObject::Call , int , void ** ) virtual
QString tr (const char * s, const char * c, int n)
void setupSurfaceFormat ()
gui::common::BaseGUI * CreateGUI (const char * name, int groot, const char * filename)
void SetPixmap (int pixmap_filename, QPushButton * b)
void CreateApplication (int _argc, char ** _argv)
void InitApplication (RealGUI * _gui)
void showFPS (double fps) virtual
void stepMainLoop () virtual
int mainLoop () virtual
int closeGUI () virtual
sofa::simulation::Node * currentSimulation () virtual
void fileOpen (int filename, bool temporaryFile, bool reload) virtual
void fileOpenSimu (int filename) virtual
void setScene (int groot, const char * filename, bool temporaryFile) virtual
void setSceneWithoutMonitor (int groot, const char * filename, bool temporaryFile) virtual
void unloadScene (bool _withViewer) virtual
void setTitle (int windowTitle) virtual
void setViewerResolution (int w, int h) virtual
void setFullScreen () virtual
void setFullScreen (bool enable) virtual
void centerWindow () virtual
void setBackgroundColor (const sofa::type::RGBAColor & c) virtual
void setBackgroundImage (const int & i) virtual
void setViewerConfiguration (sofa::component::setting::ViewerSetting * viewerConf) virtual
void setMouseButtonConfiguration (sofa::component::setting::MouseButtonSetting * button) virtual
void setDumpState (bool ) virtual
void setLogTime (bool ) virtual
void setExportState (bool ) virtual
void setGnuplotPath (const int & path) virtual
void createViewer (const char * _viewerName, bool _updateViewerList) virtual
void registerViewer (gui::common::BaseViewer * _viewer) virtual
gui::common::BaseViewer * getViewer () virtual
sofa::qt::viewer::SofaViewer * getSofaViewer ()
void removeViewer () virtual
void dragEnterEvent (QDragEnterEvent * event) virtual
void dropEvent (QDropEvent * event) virtual
void init ()
void createDisplayFlags (int root)
void loadSimulation (bool one_step)
void eventNewStep ()
void eventNewTime ()
void keyPressEvent (QKeyEvent * e) virtual
void startDumpVisitor ()
void stopDumpVisitor ()
void initViewer (gui::common::BaseViewer * _viewer) virtual
int exitApplication (unsigned int _retcode) virtual
void sleep (float seconds, float init_time)
void newRootNode (sofa::simulation::Node * root, const char * path) virtual
void activateNode (sofa::simulation::Node * , bool ) virtual
void setSleepingNode (sofa::simulation::Node * , bool ) virtual
void lockAnimation (bool ) virtual
void fileRecentlyOpened (QAction * action) virtual
void playpauseGUI (bool value) virtual
void interactionGUI (bool value) virtual
void step () virtual
void emitIdle () virtual
void setDt (const QString & ) virtual
void updateDtEditState () virtual
void resetScene () virtual
void screenshot () virtual
void showhideElements () virtual
void update () virtual
void updateBackgroundColour () virtual
void updateBackgroundImage () virtual
void resetView () virtual
void saveView () virtual
void setSizeW (int _valW) virtual
void setSizeH (int _valH) virtual
void clear () virtual
void redraw () virtual
void exportOBJ (sofa::simulation::Node * node, bool exportMTL) virtual
void dumpState (bool ) virtual
void displayComputationTime (bool ) virtual
void setExportGnuplot (bool ) virtual
void setExportVisitor (bool ) virtual
void displayProflierWindow (bool ) virtual
void currentTabChanged (int index) virtual
void popupOpenFileSelector () virtual
void fileReload () virtual
void fileExit () virtual
void helpAbout () virtual
void editRecordDirectory () virtual
void editGnuplotDirectory () virtual
void showDocBrowser () virtual
void showAbout () virtual
void showPluginManager () virtual
void showMouseManager () virtual
void showVideoRecorderManager () virtual
void showWindowDataGraph () virtual
void toolsDockMoved () virtual
void changeViewer () virtual
void updateViewerList () virtual
void onSceneGraphRefreshButtonClicked () virtual
void sceneGraphViewDirtynessChanged (bool isDirty) virtual
void sceneGraphViewLockingChanged (bool isLocked) virtual
void propertyDockMoved (Qt::DockWidgetArea a)
void appendToDataLogFile (QString )
void docBrowserVisibilityChanged (bool )
void reload ()
void newScene ()
void newStep ()
void quit ()
{
  "name": "RealGUI",
  "namespace": "sofa::qt",
  "module": "sofa.qt.RealGUI.cpp",
  "include": "sofa/qt/RealGUI.h",
  "doc": "",
  "inherits": [
    "BaseGUI"
  ],
  "templates": [],
  "data_fields": [],
  "links": [],
  "methods": [
    {
      "name": "metaObject",
      "return_type": "const QMetaObject *",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "qt_metacast",
      "return_type": "void *",
      "params": [
        {
          "name": "",
          "type": "const char *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "qt_metacall",
      "return_type": "int",
      "params": [
        {
          "name": "",
          "type": "QMetaObject::Call"
        },
        {
          "name": "",
          "type": "int"
        },
        {
          "name": "",
          "type": "void **"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "tr",
      "return_type": "QString",
      "params": [
        {
          "name": "s",
          "type": "const char *"
        },
        {
          "name": "c",
          "type": "const char *"
        },
        {
          "name": "n",
          "type": "int"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": true,
      "access": "public"
    },
    {
      "name": "setupSurfaceFormat",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": true,
      "access": "public"
    },
    {
      "name": "CreateGUI",
      "return_type": "gui::common::BaseGUI *",
      "params": [
        {
          "name": "name",
          "type": "const char *"
        },
        {
          "name": "groot",
          "type": "int"
        },
        {
          "name": "filename",
          "type": "const char *"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": true,
      "access": "public"
    },
    {
      "name": "SetPixmap",
      "return_type": "void",
      "params": [
        {
          "name": "pixmap_filename",
          "type": "int"
        },
        {
          "name": "b",
          "type": "QPushButton *"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": true,
      "access": "public"
    },
    {
      "name": "CreateApplication",
      "return_type": "void",
      "params": [
        {
          "name": "_argc",
          "type": "int"
        },
        {
          "name": "_argv",
          "type": "char **"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": true,
      "access": "protected"
    },
    {
      "name": "InitApplication",
      "return_type": "void",
      "params": [
        {
          "name": "_gui",
          "type": "RealGUI *"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": true,
      "access": "protected"
    },
    {
      "name": "showFPS",
      "return_type": "void",
      "params": [
        {
          "name": "fps",
          "type": "double"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "stepMainLoop",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "mainLoop",
      "return_type": "int",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "closeGUI",
      "return_type": "int",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "currentSimulation",
      "return_type": "sofa::simulation::Node *",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "fileOpen",
      "return_type": "void",
      "params": [
        {
          "name": "filename",
          "type": "int"
        },
        {
          "name": "temporaryFile",
          "type": "bool"
        },
        {
          "name": "reload",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "fileOpenSimu",
      "return_type": "void",
      "params": [
        {
          "name": "filename",
          "type": "int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setScene",
      "return_type": "void",
      "params": [
        {
          "name": "groot",
          "type": "int"
        },
        {
          "name": "filename",
          "type": "const char *"
        },
        {
          "name": "temporaryFile",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setSceneWithoutMonitor",
      "return_type": "void",
      "params": [
        {
          "name": "groot",
          "type": "int"
        },
        {
          "name": "filename",
          "type": "const char *"
        },
        {
          "name": "temporaryFile",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "unloadScene",
      "return_type": "void",
      "params": [
        {
          "name": "_withViewer",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setTitle",
      "return_type": "void",
      "params": [
        {
          "name": "windowTitle",
          "type": "int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setViewerResolution",
      "return_type": "void",
      "params": [
        {
          "name": "w",
          "type": "int"
        },
        {
          "name": "h",
          "type": "int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setFullScreen",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setFullScreen",
      "return_type": "void",
      "params": [
        {
          "name": "enable",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "centerWindow",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setBackgroundColor",
      "return_type": "void",
      "params": [
        {
          "name": "c",
          "type": "const sofa::type::RGBAColor &"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setBackgroundImage",
      "return_type": "void",
      "params": [
        {
          "name": "i",
          "type": "const int &"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setViewerConfiguration",
      "return_type": "void",
      "params": [
        {
          "name": "viewerConf",
          "type": "sofa::component::setting::ViewerSetting *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setMouseButtonConfiguration",
      "return_type": "void",
      "params": [
        {
          "name": "button",
          "type": "sofa::component::setting::MouseButtonSetting *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setDumpState",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setLogTime",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setExportState",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setGnuplotPath",
      "return_type": "void",
      "params": [
        {
          "name": "path",
          "type": "const int &"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "createViewer",
      "return_type": "void",
      "params": [
        {
          "name": "_viewerName",
          "type": "const char *"
        },
        {
          "name": "_updateViewerList",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "registerViewer",
      "return_type": "void",
      "params": [
        {
          "name": "_viewer",
          "type": "gui::common::BaseViewer *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "getViewer",
      "return_type": "gui::common::BaseViewer *",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "getSofaViewer",
      "return_type": "sofa::qt::viewer::SofaViewer *",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "removeViewer",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "dragEnterEvent",
      "return_type": "void",
      "params": [
        {
          "name": "event",
          "type": "QDragEnterEvent *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "dropEvent",
      "return_type": "void",
      "params": [
        {
          "name": "event",
          "type": "QDropEvent *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "init",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "createDisplayFlags",
      "return_type": "void",
      "params": [
        {
          "name": "root",
          "type": "int"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "loadSimulation",
      "return_type": "void",
      "params": [
        {
          "name": "one_step",
          "type": "bool"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "eventNewStep",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "eventNewTime",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "keyPressEvent",
      "return_type": "void",
      "params": [
        {
          "name": "e",
          "type": "QKeyEvent *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "startDumpVisitor",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "stopDumpVisitor",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "initViewer",
      "return_type": "void",
      "params": [
        {
          "name": "_viewer",
          "type": "gui::common::BaseViewer *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "exitApplication",
      "return_type": "int",
      "params": [
        {
          "name": "_retcode",
          "type": "unsigned int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "sleep",
      "return_type": "void",
      "params": [
        {
          "name": "seconds",
          "type": "float"
        },
        {
          "name": "init_time",
          "type": "float"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "newRootNode",
      "return_type": "void",
      "params": [
        {
          "name": "root",
          "type": "sofa::simulation::Node *"
        },
        {
          "name": "path",
          "type": "const char *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "activateNode",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "sofa::simulation::Node *"
        },
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setSleepingNode",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "sofa::simulation::Node *"
        },
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "lockAnimation",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "fileRecentlyOpened",
      "return_type": "void",
      "params": [
        {
          "name": "action",
          "type": "QAction *"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "playpauseGUI",
      "return_type": "void",
      "params": [
        {
          "name": "value",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "interactionGUI",
      "return_type": "void",
      "params": [
        {
          "name": "value",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "step",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "emitIdle",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setDt",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "const QString &"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "updateDtEditState",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "resetScene",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "screenshot",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showhideElements",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "update",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "updateBackgroundColour",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "updateBackgroundImage",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "resetView",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "saveView",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setSizeW",
      "return_type": "void",
      "params": [
        {
          "name": "_valW",
          "type": "int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setSizeH",
      "return_type": "void",
      "params": [
        {
          "name": "_valH",
          "type": "int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "clear",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "redraw",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "exportOBJ",
      "return_type": "void",
      "params": [
        {
          "name": "node",
          "type": "sofa::simulation::Node *"
        },
        {
          "name": "exportMTL",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "dumpState",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "displayComputationTime",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setExportGnuplot",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setExportVisitor",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "displayProflierWindow",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "currentTabChanged",
      "return_type": "void",
      "params": [
        {
          "name": "index",
          "type": "int"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "popupOpenFileSelector",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "fileReload",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "fileExit",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "helpAbout",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "editRecordDirectory",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "editGnuplotDirectory",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showDocBrowser",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showAbout",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showPluginManager",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showMouseManager",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showVideoRecorderManager",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "showWindowDataGraph",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "toolsDockMoved",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "changeViewer",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "updateViewerList",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "onSceneGraphRefreshButtonClicked",
      "return_type": "void",
      "params": [],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "sceneGraphViewDirtynessChanged",
      "return_type": "void",
      "params": [
        {
          "name": "isDirty",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "sceneGraphViewLockingChanged",
      "return_type": "void",
      "params": [
        {
          "name": "isLocked",
          "type": "bool"
        }
      ],
      "is_virtual": true,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "propertyDockMoved",
      "return_type": "void",
      "params": [
        {
          "name": "a",
          "type": "Qt::DockWidgetArea"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "appendToDataLogFile",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "QString"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "docBrowserVisibilityChanged",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "reload",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "newScene",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "newStep",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "quit",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    }
  ],
  "title": "GUI Application for SOFA Framework",
  "componentDescription": {
    "summary": "This GUI application is specifically designed to facilitate the interaction with simulations created using the SOFA (Simulation Open-Framework Architecture) framework.",
    "descriptionDetails": [
      {
        "para": "The core of this GUI is built around a customizable scene graph that dynamically updates based on the components and interactions within a simulation. It supports the creation, editing, and visualization of complex physics-based animations."
      },
      {
        "para": "Features include tools for manipulating viewer settings, recording video, managing plugins, handling mouse events, and profiling computation times. The GUI also offers an integrated documentation browser to assist users with understanding and configuring different aspects of SOFA simulations."
      }
    ],
    "keyFeatures": [
      "Dynamic Scene Graph Visualization",
      "Viewer Customization and Management",
      "Video Recording Capabilities",
      "Integrated Documentation Browser",
      "Computation Time Profiling"
    ]
  },
  "methodsSummary": {
    "summary": "The class provides a wide range of methods for managing the GUI, its interactions with SOFA simulations, and user interface components.",
    "descriptionDetails": [
      {
        "para": "Methods are available to handle actions like opening file selectors, reloading scenes, switching viewers, and adjusting viewer lists. It supports logging data, displaying computation times, and enabling/disabling features such as export functionalities for Gnuplot and state dumps."
      },
      {
        "para": "The GUI also includes methods for managing different tabs and dock widgets, handling user interface events (like tab changes or viewer list updates), and integrating with various managers like the plugin manager, mouse manager, and video recorder manager."
      }
    ]
  },
  "maths": "The `RealGUI` component in the SOFA framework is primarily concerned with providing graphical user interface (GUI) functionalities for interacting with simulations. It inherits from `BaseGUI`, which suggests it serves as a base class or template for GUI implementations within SOFA. The `RealGUI` component does not contribute directly to the mathematical and physical models used in finite element simulations, such as the mass matrix $M$, stiffness matrix $K$, internal force $\textbf{f}_{int}$, residual $R$, constitutive laws (strain measures, stress tensors, hyperelastic potentials), or damping models. Instead, it provides mechanisms for visualizing simulation results and controlling various aspects of the simulation environment.\n\nKey functionalities include:\n- Creating and managing viewers (`CreateViewer`, `initViewer`)\n- Setting display configurations such as background color (`setBackgroundColor`) and resolution (`setViewerResolution`)\n- Handling user interactions like dragging and dropping files (`dragEnterEvent`, `dropEvent`), key presses (`keyPressEvent`), and mouse events\n- Managing simulation scenes, including loading and unloading scenes (`fileOpenSimu`, `unloadScene`)\n- Updating the display and visualizations during the main loop of the application (`update`, `redraw`, `stepMainLoop`)\n\nThe component also provides methods for saving simulation states (`dumpState`), exporting scenes to OBJ format (`exportOBJ`), and managing profiling information (`displayComputationTime`). These functionalities do not contribute directly to the physical or mathematical models but are essential for creating an interactive and user-friendly simulation environment.\n\nIn summary, `RealGUI` is a component focused on GUI operations and does not have significant mathematical or physical content related to FEM simulations. It primarily supports interaction with the SOFA framework's simulation capabilities through visual interfaces.",
  "abstract": "`RealGUI` provides graphical user interface functionalities in the SOFA framework, enabling visualization and control of simulation environments.",
  "sheet": "# RealGUI\n\n## Overview\n`RealGUI` is a component within the SOFA framework that inherits from `BaseGUI`. It serves as an interface for visualizing simulations and managing various aspects of the simulation environment. This includes creating viewers, setting display configurations, handling user interactions, loading scenes, and exporting data.\n\n## Parameters and Data\nThe significant parameters and methods exposed by `RealGUI` include:\n- **setBackgroundColor**: Sets the background color of the viewer (`void setBackgroundColor(const sofa::type::RGBAColor &c)`).\n- **setViewerResolution**: Sets the resolution of the viewer (`void setViewerResolution(int w, int h)`).\n- **CreateViewer**: Creates a new viewer instance (`void CreateViewer(const char *viewerName, bool updateViewerList)`).\n- **fileOpenSimu**: Loads a simulation scene from a file (`void fileOpenSimu(int filename)`).\n- **unloadScene**: Unloads the current simulation scene (`void unloadScene(bool withViewer)`).\n- **exportOBJ**: Exports the current scene to OBJ format (`void exportOBJ(sofa::simulation::Node *node, bool exportMTL)`)."
}