SOFA API  1df67014
Open source framework for multi-physics simuation
sofa::gui::common::BaseGUI Class Referenceabstract

#include <BaseGUI.h>

Inheritance diagram for sofa::gui::common::BaseGUI:

Static Protected Attributes

static std::string mGuiName = ""
 
static std::string configDirectoryPath = "."
 
static std::string screenshotDirectoryPath = "."
 
static const charmProgramName = nullptr
 
static ArgumentParsermArgumentParser = nullptr
 

Public Member Functions

virtual void configureGUI (sofa::simulation::NodeSPtr groot)
 Use a component setting to configure our GUI. More...
 
void exportGnuplot (sofa::simulation::Node *node, std::string gnuplot_directory="")
 
virtual bool canBeDefaultGUI () const
 
methods each GUI must implement

Start the GUI loop

virtual int mainLoop ()=0
 
virtual void redraw ()=0
 Update the GUI. More...
 
virtual int closeGUI ()=0
 Close the GUI. More...
 
virtual void setScene (sofa::simulation::NodeSPtr groot, const char *filename=nullptr, bool temporaryFile=false)=0
 Register the scene in our GUI. More...
 
virtual sofa::simulation::NodecurrentSimulation ()=0
 Get the rootNode of the sofa scene. More...
 
methods to configure the GUI
virtual void setDumpState (bool)
 
virtual void setLogTime (bool)
 
virtual void setExportState (bool)
 
virtual void setGnuplotPath (const std::string &)
 
virtual void initViewer (BaseViewer *)
 
virtual void setViewerConfiguration (sofa::component::setting::ViewerSetting *)
 
virtual void setViewerResolution (int, int)
 
virtual void setFullScreen ()
 
virtual void centerWindow ()
 
virtual void setBackgroundColor (const sofa::type::RGBAColor &)
 
virtual void setBackgroundImage (const std::string &)
 
virtual BaseViewergetViewer ()
 
virtual void registerViewer (BaseViewer *)
 
virtual bool saveScreenshot (const std::string &filename, int compression_level=-1)
 
virtual void setMouseButtonConfiguration (sofa::component::setting::MouseButtonSetting *)
 
methods to communicate with the GUI

Do one step of the GUI loop

virtual void stepMainLoop ()
 
virtual void sendMessage (const std::string &, const std::string &)
 Send a (script) message. More...
 
virtual void showFPS (double)
 Force the displayed FPS value (if any) More...
 

Static Public Member Functions

static std::string & GetGUIName ()
 
static const charGetProgramName ()
 
static void SetProgramName (const char *argv0)
 
static void SetArgumentParser (ArgumentParser *parser)
 
static const std::string & getConfigDirectoryPath ()
 
static const std::string & getScreenshotDirectoryPath ()
 
static void setConfigDirectoryPath (const std::string &path, bool createIfNecessary=false)
 
static void setScreenshotDirectoryPath (const std::string &path, bool createIfNecessary=false)
 

Protected Member Functions

 BaseGUI ()
 
virtual ~BaseGUI ()
 The destructor should not be called directly. Use the closeGUI() method instead. More...
 

Attribute details

◆ configDirectoryPath

std::string sofa::gui::common::BaseGUI::configDirectoryPath = "."
staticprotected

◆ mArgumentParser

ArgumentParser * sofa::gui::common::BaseGUI::mArgumentParser = nullptr
staticprotected

◆ mGuiName

std::string sofa::gui::common::BaseGUI::mGuiName = ""
staticprotected

◆ mProgramName

const char * sofa::gui::common::BaseGUI::mProgramName = nullptr
staticprotected

◆ screenshotDirectoryPath

std::string sofa::gui::common::BaseGUI::screenshotDirectoryPath = "."
staticprotected

Constructor details

◆ BaseGUI()

sofa::gui::common::BaseGUI::BaseGUI ( )
protected

◆ ~BaseGUI()

sofa::gui::common::BaseGUI::~BaseGUI ( )
protectedvirtual

The destructor should not be called directly. Use the closeGUI() method instead.

Function details

◆ canBeDefaultGUI()

virtual bool sofa::gui::common::BaseGUI::canBeDefaultGUI ( ) const
inlinevirtual

If the function returns true: when the GUI is created, its name will be saved so that it will be created when no GUI is specified. If the function returns false, the GUI name is not saved, and the last one will be used when no GUI is specified.

Reimplemented in sofa::gui::batch::BatchGUI.

◆ centerWindow()

virtual void sofa::gui::common::BaseGUI::centerWindow ( )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ closeGUI()

virtual int sofa::gui::common::BaseGUI::closeGUI ( )
pure virtual

◆ configureGUI()

void sofa::gui::common::BaseGUI::configureGUI ( sofa::simulation::NodeSPtr  groot)
virtual

Use a component setting to configure our GUI.

◆ currentSimulation()

virtual sofa::simulation::Node* sofa::gui::common::BaseGUI::currentSimulation ( )
pure virtual

Get the rootNode of the sofa scene.

Implemented in sofa::gui::qt::RealGUI, sofa::gui::hrecorder::HeadlessRecorder, and sofa::gui::batch::BatchGUI.

◆ exportGnuplot()

void sofa::gui::common::BaseGUI::exportGnuplot ( sofa::simulation::Node node,
std::string  gnuplot_directory = "" 
)

◆ getConfigDirectoryPath()

const std::string & sofa::gui::common::BaseGUI::getConfigDirectoryPath ( )
static

◆ GetGUIName()

static std::string& sofa::gui::common::BaseGUI::GetGUIName ( )
inlinestatic

◆ GetProgramName()

static const char* sofa::gui::common::BaseGUI::GetProgramName ( )
inlinestatic

◆ getScreenshotDirectoryPath()

const std::string & sofa::gui::common::BaseGUI::getScreenshotDirectoryPath ( )
static

◆ getViewer()

virtual BaseViewer* sofa::gui::common::BaseGUI::getViewer ( )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ initViewer()

virtual void sofa::gui::common::BaseGUI::initViewer ( BaseViewer )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ mainLoop()

virtual int sofa::gui::common::BaseGUI::mainLoop ( )
pure virtual

◆ redraw()

virtual void sofa::gui::common::BaseGUI::redraw ( )
pure virtual

◆ registerViewer()

virtual void sofa::gui::common::BaseGUI::registerViewer ( BaseViewer )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ saveScreenshot()

bool sofa::gui::common::BaseGUI::saveScreenshot ( const std::string &  filename,
int  compression_level = -1 
)
virtual

◆ sendMessage()

virtual void sofa::gui::common::BaseGUI::sendMessage ( const std::string &  ,
const std::string &   
)
inlinevirtual

Send a (script) message.

◆ SetArgumentParser()

static void sofa::gui::common::BaseGUI::SetArgumentParser ( ArgumentParser parser)
inlinestatic

◆ setBackgroundColor()

virtual void sofa::gui::common::BaseGUI::setBackgroundColor ( const sofa::type::RGBAColor )
inlinevirtual

◆ setBackgroundImage()

virtual void sofa::gui::common::BaseGUI::setBackgroundImage ( const std::string &  )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setConfigDirectoryPath()

void sofa::gui::common::BaseGUI::setConfigDirectoryPath ( const std::string &  path,
bool  createIfNecessary = false 
)
static

◆ setDumpState()

virtual void sofa::gui::common::BaseGUI::setDumpState ( bool  )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setExportState()

virtual void sofa::gui::common::BaseGUI::setExportState ( bool  )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setFullScreen()

virtual void sofa::gui::common::BaseGUI::setFullScreen ( )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setGnuplotPath()

virtual void sofa::gui::common::BaseGUI::setGnuplotPath ( const std::string &  )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setLogTime()

virtual void sofa::gui::common::BaseGUI::setLogTime ( bool  )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setMouseButtonConfiguration()

virtual void sofa::gui::common::BaseGUI::setMouseButtonConfiguration ( sofa::component::setting::MouseButtonSetting )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ SetProgramName()

static void sofa::gui::common::BaseGUI::SetProgramName ( const char argv0)
inlinestatic

◆ setScene()

virtual void sofa::gui::common::BaseGUI::setScene ( sofa::simulation::NodeSPtr  groot,
const char filename = nullptr,
bool  temporaryFile = false 
)
pure virtual

Register the scene in our GUI.

Implemented in sofa::gui::hrecorder::HeadlessRecorder, and sofa::gui::batch::BatchGUI.

◆ setScreenshotDirectoryPath()

void sofa::gui::common::BaseGUI::setScreenshotDirectoryPath ( const std::string &  path,
bool  createIfNecessary = false 
)
static

◆ setViewerConfiguration()

virtual void sofa::gui::common::BaseGUI::setViewerConfiguration ( sofa::component::setting::ViewerSetting )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.

◆ setViewerResolution()

virtual void sofa::gui::common::BaseGUI::setViewerResolution ( int  ,
int   
)
inlinevirtual

◆ showFPS()

virtual void sofa::gui::common::BaseGUI::showFPS ( double  )
inlinevirtual

Force the displayed FPS value (if any)

Reimplemented in sofa::gui::qt::RealGUI.

◆ stepMainLoop()

virtual void sofa::gui::common::BaseGUI::stepMainLoop ( )
inlinevirtual

Reimplemented in sofa::gui::qt::RealGUI.