Back to index
It also requires common SALOME environment including GUI_ROOT_DIR and other prerequsites.
PARAVIS module can be launched using the following commands:
The main idea is to reuse ParaView GUI internal logic as much as possible, providing a layer between it and SALOME GUI that hides the following SALOME GUI implementation details from ParaView:
Major part of the integration is implemented in PVGUI_Module class.
ParaView client initalization is performed when an instance of PVGUI_Module class has been created and PVGUI_Module::initialize() method is called by SALOME GUI. The actual client start-up is done in PVGUI_Module::pvInit() method.
SALOME GUI requires that each kind of view be implemnted with help of (at least) three classes. For ParaView multi-view manager these are:
Single instances of PVGUI_ViewManager and PVGUI_ViewWindow classes are created by PVGUI_Module::showView() method upon the first PARAVIS module activation. The same method hides the multi-view manager when the module is deactivated (the user switches to another module or a study is closed). A special trick is used to make PVGUI_ViewWindow the parent of pqViewManager widget. It is created initally by pqMainWindowCore with the desktop as a parent, so when it is shown PVGUI_ViewWindow instance is passed to its setParent() method. In PVGUI_ViewWindow::~PVGUI_ViewWindow() the parent is nullified to avoid deletion of pqViewManager widget that would break pqMainWindowCore class.
ParaView server and client plugins are managed by pqMainWindowCore slots that has full access to PARAVIS menus and toolbars. As a result they appears automatically in PARAVIS menus and toolbars if loaded successfully.