RealGUI
`RealGUI` provides graphical user interface functionalities in the SOFA framework, enabling visualization and control of simulation environments.
- module
- sofa.qt.RealGUI.cpp
- namespace
- sofa::qt
- include
- sofa/qt/RealGUI.h
- inherits
-
- BaseGUI
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)`)."
}