From: jfa Date: Fri, 26 Jan 2007 11:31:57 +0000 (+0000) Subject: Activate or create a new VTK viewer for Mesh automatic update after computation.... X-Git-Tag: V3_2_5pre1~5 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=1a264e70617a97fd452e18e94a221e17547559ef;p=modules%2Fsmesh.git Activate or create a new VTK viewer for Mesh automatic update after computation. Following curtomer remarks. --- diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 965cd3759..a99f1b2fd 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -17,7 +17,7 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // File : SMESHGUI.cxx // Author : Nicolas REJNERI @@ -307,7 +307,7 @@ using namespace std; SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); if ( resMgr ) toCreateGroups = resMgr->booleanValue( "SMESH", "auto_groups", false ); - + if ( theCommandID != 122 && theCommandID != 125 ) aFilename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), "", aFilter, aTitle, false); else { @@ -855,7 +855,7 @@ SMESH::SMESH_Gen_var SMESHGUI::myComponentSMESH = SMESH::SMESH_Gen::_nil(); //============================================================================= SMESHGUI::SMESHGUI() : SalomeApp_Module( "SMESH" ) -{ +{ if ( CORBA::is_nil( myComponentSMESH ) ) { CORBA::Boolean anIsEmbeddedMode; @@ -1239,9 +1239,9 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) } } } - + // PAL13338 --> - if ( ( theCommandID==301 || theCommandID==302 ) && !checkLock(aStudy) && !automaticUpdate() ) + if ( ( theCommandID==301 || theCommandID==302 ) && !checkLock(aStudy) && !automaticUpdate() ) SMESH::UpdateView(); // PAL13338 <-- @@ -1299,93 +1299,86 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case 701: // COMPUTE MESH { - if(checkLock(aStudy)) break; + if (checkLock(aStudy)) break; LightApp_SelectionMgr *Sel = selectionMgr(); SALOME_ListIO selected; Sel->selectedObjects( selected ); - if ( vtkwnd ) { - int nbSel = selected.Extent(); - if (nbSel != 1){ - SUIT_MessageBox::warn1(desktop(), - tr("SMESH_WRN_WARNING"), - tr("SMESH_WRN_NO_AVAILABLE_DATA"), - tr("SMESH_BUT_OK")); - break; - } + int nbSel = selected.Extent(); + if (nbSel != 1) { + SUIT_MessageBox::warn1(desktop(), + tr("SMESH_WRN_WARNING"), + tr("SMESH_WRN_NO_AVAILABLE_DATA"), + tr("SMESH_BUT_OK")); + break; + } - SMESH::SMESH_Mesh_var aMesh; - SMESH::SMESH_subMesh_var aSubMesh; - Handle(SALOME_InteractiveObject) IObject = selected.First(); - if (IObject->hasEntry()) { - _PTR(SObject) aMeshSObj = aStudy->FindObjectID(IObject->getEntry()); - GEOM::GEOM_Object_var aShapeObject = SMESH::GetShapeOnMeshOrSubMesh( aMeshSObj ); - if ( aShapeObject->_is_nil() ) { - // imported mesh - break; - } - if( aMeshSObj ) { - aMesh = SMESH::SObjectToInterface(aMeshSObj); - aSubMesh = SMESH::SObjectToInterface(aMeshSObj); - if ( !aSubMesh->_is_nil() ) - aMesh = aSubMesh->GetFather(); - - if (!aMesh->_is_nil()) { -// if(!GetSMESHGen()->IsReadyToCompute(aMesh,aShapeObject)) { -// SUIT_MessageBox::warn1(desktop(), -// tr("SMESH_WRN_WARNING"), -// tr("SMESH_WRN_MISSING_PARAMETERS"), -// tr("SMESH_BUT_OK")); -// break; -// } - SMESH::algo_error_array_var errors = GetSMESHGen()->GetAlgoState(aMesh,aShapeObject); - if ( errors->length() > 0 ) { + SMESH::SMESH_Mesh_var aMesh; + SMESH::SMESH_subMesh_var aSubMesh; + Handle(SALOME_InteractiveObject) IObject = selected.First(); + if (IObject->hasEntry()) { + _PTR(SObject) aMeshSObj = aStudy->FindObjectID(IObject->getEntry()); + GEOM::GEOM_Object_var aShapeObject = SMESH::GetShapeOnMeshOrSubMesh( aMeshSObj ); + if ( aShapeObject->_is_nil() ) { + // imported mesh + break; + } + if ( aMeshSObj ) { + aMesh = SMESH::SObjectToInterface(aMeshSObj); + aSubMesh = SMESH::SObjectToInterface(aMeshSObj); + if ( !aSubMesh->_is_nil() ) + aMesh = aSubMesh->GetFather(); + + if (!aMesh->_is_nil()) { + SMESH::algo_error_array_var errors = GetSMESHGen()->GetAlgoState(aMesh,aShapeObject); + if ( errors->length() > 0 ) { + SUIT_MessageBox::warn1(desktop(), + tr("SMESH_WRN_WARNING"), + SMESH::GetMessageOnAlgoStateErrors( errors.in() ), + tr("SMESH_BUT_OK")); + break; + } + + try { + if (GetSMESHGen()->Compute(aMesh, aShapeObject)) + SMESH::ModifiedMesh(aMeshSObj, true); + else SUIT_MessageBox::warn1(desktop(), tr("SMESH_WRN_WARNING"), - SMESH::GetMessageOnAlgoStateErrors( errors.in() ), + tr("SMESH_WRN_COMPUTE_FAILED"), tr("SMESH_BUT_OK")); - break; - } - try{ - if (GetSMESHGen()->Compute(aMesh,aShapeObject)) - SMESH::ModifiedMesh(aMeshSObj,true); - else - SUIT_MessageBox::warn1(desktop(), - tr("SMESH_WRN_WARNING"), - tr("SMESH_WRN_COMPUTE_FAILED"), - tr("SMESH_BUT_OK")); - } - catch(const SALOME::SALOME_Exception & S_ex){ - SalomeApp_Tools::QtCatchCorbaException(S_ex); + } + catch(const SALOME::SALOME_Exception & S_ex){ + SalomeApp_Tools::QtCatchCorbaException(S_ex); + } + + updateObjBrowser(); + + if (automaticUpdate()) { + SVTK_ViewWindow* aVTKView = SMESH::GetViewWindow(this, /*create*/true); + if (aVTKView) { + CORBA::Long anId = aStudy->StudyId(); + TVisualObjPtr aVisualObj = SMESH::GetVisualObj(anId, IObject->getEntry()); + if (aVisualObj) { + aVisualObj->Update(); + SMESH_Actor* anActor = SMESH::FindActorByEntry(IObject->getEntry()); + if (!anActor) { + anActor = SMESH::CreateActor(aStudy, IObject->getEntry()); + if (anActor) { + SMESH::DisplayActor(aVTKView, anActor); //apo + SMESH::FitAll(); + } + } + SMESH::RepaintCurrentView(); + Sel->setSelectedObjects( selected ); + } } } - } - } - CORBA::Long anId = aStudy->StudyId(); - TVisualObjPtr aVisualObj = SMESH::GetVisualObj(anId,IObject->getEntry()); - if ( automaticUpdate() && aVisualObj){ - aVisualObj->Update(); - SMESH_Actor* anActor = SMESH::FindActorByEntry(IObject->getEntry()); - if(!anActor){ - anActor = SMESH::CreateActor(aStudy,IObject->getEntry()); - if(anActor){ - SMESH::DisplayActor(view,anActor); //apo - SMESH::FitAll(); - } - } - SMESH::RepaintCurrentView(); - } - } - else{ - SUIT_MessageBox::warn1(desktop(), - tr("SMESH_WRN_WARNING"), - tr("SMESH_WRN_VIEWER_VTK"), - tr("SMESH_BUT_OK")); + } + } } - updateObjBrowser(); - Sel->setSelectedObjects( selected ); - break; } + break; case 702: // Create mesh startOperation( 702 ); @@ -1943,18 +1936,18 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) int type; switch (theCommandID) { - case 4034: + case 4034: type = QUAD_EDGE; break; - case 4035: + case 4035: type = QUAD_TRIANGLE; break; - case 4036: + case 4036: type = QUAD_QUADRANGLE; break; - case 4037: + case 4037: type = QUAD_TETRAHEDRON; break; - case 4038: - type = QUAD_PYRAMID; break; - case 4039: - type = QUAD_PENTAHEDRON; break; + case 4038: + type = QUAD_PYRAMID; break; + case 4039: + type = QUAD_PENTAHEDRON; break; case 4040: type = QUAD_HEXAHEDRON; break; @@ -3024,7 +3017,7 @@ void SMESHGUI::createPreferences() int exportgroup = addPreference( tr( "PREF_GROUP_EXPORT" ), genTab ); addPreference( tr( "PREF_AUTO_GROUPS" ), exportgroup, LightApp_Preferences::Bool, "SMESH", "auto_groups" ); int renumber=addPreference( tr( "PREF_RENUMBER" ), exportgroup, LightApp_Preferences::Bool, "SMESH", "renumbering" ); - + int meshTab = addPreference( tr( "PREF_TAB_MESH" ) ); int nodeGroup = addPreference( tr( "PREF_GROUP_NODES" ), meshTab ); @@ -3161,7 +3154,7 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name ) float aTol = 1.00000009999999; std::string aWarning; SUIT_ResourceMgr* aResourceMgr = SMESH::GetResourceMgr(this); - if( name=="selection_object_color" || name=="selection_element_color" || + if( name=="selection_object_color" || name=="selection_element_color" || name=="selection_width" || name=="highlight_color" || name=="highlight_width" || name=="selection_precision_node" || name=="selection_precision_element" ) SMESH::UpdateSelectionProp( this ); @@ -3169,7 +3162,7 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name ) sbX1 = aResourceMgr->doubleValue("SMESH", "scalar_bar_vertical_x", sbX1); sbW = aResourceMgr->doubleValue("SMESH", "scalar_bar_vertical_width", sbW); if(sbX1+sbW > aTol){ - aWarning = "Origin and Size Vertical: X+Width > 1\n"; + aWarning = "Origin and Size Vertical: X+Width > 1\n"; sbX1=0.01; sbW=0.05; aResourceMgr->setValue("SMESH", "scalar_bar_vertical_x", sbX1); @@ -3209,7 +3202,7 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name ) aResourceMgr->setValue("SMESH", "scalar_bar_horizontal_height",sbH); } } - + if(aWarning.size() != 0){ aWarning += "The default values are applied instead."; SUIT_MessageBox::warn1(SMESHGUI::desktop(), diff --git a/src/SMESHGUI/SMESHGUI_VTKUtils.cxx b/src/SMESHGUI/SMESHGUI_VTKUtils.cxx index 16eecc696..f924d19b7 100644 --- a/src/SMESHGUI/SMESHGUI_VTKUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_VTKUtils.cxx @@ -15,54 +15,56 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com #include "SMESHGUI_VTKUtils.h" #include "SMESHGUI_Utils.h" #include "SMESHGUI_Filter.h" -#include -#include - -#include +#include "SMESHGUI.h" +#include "SMESH_Actor.h" +#include "SMESH_ObjectDef.h" #include #include #include -#include "LightApp_SelectionMgr.h" +#include +#include -#include "SVTK_Selector.h" -#include "SVTK_ViewModel.h" -#include "SVTK_ViewWindow.h" +#include +#include +#include -#include "utilities.h" +#include +#include +#include + +#include -#include "SALOMEconfig.h" +#include #include CORBA_CLIENT_HEADER(SMESH_Gen) #include CORBA_CLIENT_HEADER(SMESH_Mesh) #include CORBA_CLIENT_HEADER(SMESH_Group) #include CORBA_CLIENT_HEADER(SMESH_Hypothesis) -#include "SMESHGUI.h" -#include "SMESH_Actor.h" -#include "SMESH_ObjectDef.h" - -#include -#include -#include - #include #include -#include -#include +// VTK +#include +#include +// OCCT +#include + +// STL #include using namespace std; -namespace SMESH{ + +namespace SMESH { typedef map TVisualObjCont; static TVisualObjCont VISUAL_OBJ_CONT; @@ -75,7 +77,8 @@ namespace SMESH{ if(anIter != VISUAL_OBJ_CONT.end()){ aVisualObj = anIter->second; }else{ - SalomeApp_Application* app = dynamic_cast( SMESHGUI::activeStudy()->application() ); + SalomeApp_Application* app = + dynamic_cast( SMESHGUI::activeStudy()->application() ); _PTR(Study) aStudy = SMESHGUI::activeStudy()->studyDS(); _PTR(SObject) aSObj = aStudy->FindObjectID(theEntry); if(aSObj){ @@ -139,16 +142,41 @@ namespace SMESH{ } - SVTK_ViewWindow* - GetViewWindow(const SalomeApp_Module* theModule) + /*! Return active view window, if it instantiates SVTK_ViewWindow class, + * overwise find or create corresponding view window, make it active and return it. + * \note Active VVTK_ViewWindow can be returned, because it inherits SVTK_ViewWindow. + */ + SVTK_ViewWindow* GetViewWindow (const SalomeApp_Module* theModule, + bool createIfNotFound) { - if (SalomeApp_Application* anApp = theModule->getApp()) - return dynamic_cast(anApp->desktop()->activeWindow()); + SalomeApp_Application* anApp; + if (theModule) + anApp = theModule->getApp(); + else + anApp = dynamic_cast + (SUIT_Session::session()->activeApplication()); + + if (anApp) { + if (SVTK_ViewWindow* aView = dynamic_cast(anApp->desktop()->activeWindow())) + return aView; + + SUIT_ViewManager* aViewManager = + anApp->getViewManager(SVTK_Viewer::Type(), createIfNotFound); + if (aViewManager) { + if (SUIT_ViewWindow* aViewWindow = aViewManager->getActiveView()) { + if (SVTK_ViewWindow* aView = dynamic_cast(aViewWindow)) { + aViewWindow->raise(); + aViewWindow->setFocus(); + return aView; + } + } + } + } return NULL; } - SVTK_ViewWindow* FindVtkViewWindow( SUIT_ViewManager* theMgr, - SUIT_ViewWindow* theWindow ) + SVTK_ViewWindow* FindVtkViewWindow (SUIT_ViewManager* theMgr, + SUIT_ViewWindow * theWindow) { if( !theMgr ) return NULL; @@ -160,12 +188,10 @@ namespace SMESH{ return NULL; } - SVTK_ViewWindow* GetVtkViewWindow(SUIT_ViewWindow* theWindow){ return dynamic_cast(theWindow); } - /* SUIT_ViewWindow* GetActiveWindow() { SalomeApp_Application* app = dynamic_cast( SUIT_Session::session()->activeApplication() ); @@ -182,8 +208,19 @@ namespace SMESH{ return GetVtkViewWindow( GetActiveWindow() ); } + + void RepaintCurrentView() + { + if (SVTK_ViewWindow* wnd = GetCurrentVtkView()) + { + wnd->getRenderer()->Render(); + wnd->Repaint(false); + } + } + void RepaintViewWindow(SVTK_ViewWindow* theWindow) { + theWindow->getRenderer()->Render(); theWindow->Repaint(); } @@ -193,6 +230,14 @@ namespace SMESH{ theWindow->Repaint(); } + void FitAll(){ + if(SVTK_ViewWindow* wnd = GetCurrentVtkView() ){ + wnd->onFitAll(); + wnd->Repaint(); + } + } + + SMESH_Actor* FindActorByEntry(SUIT_ViewWindow *theWindow, const char* theEntry) { @@ -286,27 +331,6 @@ namespace SMESH{ } - void FitAll(){ - if(SVTK_ViewWindow* wnd = GetCurrentVtkView() ){ - wnd->onFitAll(); - wnd->Repaint(); - } - } - - vtkRenderer* GetCurrentRenderer(){ - if(SVTK_ViewWindow* wnd = GetCurrentVtkView() ) - return wnd->getRenderer(); - return NULL; - } - - void RepaintCurrentView(){ - if(SVTK_ViewWindow* wnd = GetCurrentVtkView() ) - { - wnd->getRenderer()->Render(); - wnd->Repaint(false); - } - } - void UpdateView(SUIT_ViewWindow *theWnd, EDisplaing theAction, const char* theEntry) { if(SVTK_ViewWindow* aViewWnd = GetVtkViewWindow(theWnd)){ @@ -450,17 +474,17 @@ namespace SMESH{ // update VTK viewer properties if(SVTK_ViewWindow* aVtkView = GetVtkViewWindow( views[i] )){ // mesh element selection - aVtkView->SetSelectionProp(aSelColor.red()/255., + aVtkView->SetSelectionProp(aSelColor.red()/255., aSelColor.green()/255., - aSelColor.blue()/255., + aSelColor.blue()/255., SW ); // tolerances aVtkView->SetSelectionTolerance(SP1, SP2); // pre-selection - aVtkView->SetPreselectionProp(aPreColor.red()/255., + aVtkView->SetPreselectionProp(aPreColor.red()/255., aPreColor.green()/255., - aPreColor.blue()/255., + aPreColor.blue()/255., PW); // update actors vtkRenderer* aRenderer = aVtkView->getRenderer(); @@ -468,10 +492,10 @@ namespace SMESH{ aCollection->InitTraversal(); while(vtkActor *anAct = aCollection->GetNextActor()){ if(SMESH_Actor *anActor = dynamic_cast(anAct)){ - anActor->SetHighlightColor(aHiColor.red()/255., + anActor->SetHighlightColor(aHiColor.red()/255., aHiColor.green()/255., aHiColor.blue()/255.); - anActor->SetPreHighlightColor(aPreColor.red()/255., + anActor->SetPreHighlightColor(aPreColor.red()/255., aPreColor.green()/255., aPreColor.blue()/255.); } @@ -482,7 +506,7 @@ namespace SMESH{ //---------------------------------------------------------------------------- - SVTK_Selector* + SVTK_Selector* GetSelector(SUIT_ViewWindow *theWindow) { if(SVTK_ViewWindow* aWnd = GetVtkViewWindow(theWindow)) diff --git a/src/SMESHGUI/SMESHGUI_VTKUtils.h b/src/SMESHGUI/SMESHGUI_VTKUtils.h index db98b5674..94d2c1348 100644 --- a/src/SMESHGUI/SMESHGUI_VTKUtils.h +++ b/src/SMESHGUI/SMESHGUI_VTKUtils.h @@ -15,19 +15,29 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com #ifndef SMESHGUI_VTKUtils_HeaderFile #define SMESHGUI_VTKUtils_HeaderFile -class QString; -class vtkRenderer; -class TColStd_IndexedMapOfInteger; - #include "SALOMEDSClient_definitions.hxx" #include "SALOME_InteractiveObject.hxx" #include "VTKViewer_Filter.h" +#include "SMESH_Object.h" +#include "SMESHGUI_Utils.h" + +#include + +#include "SALOMEconfig.h" +#include CORBA_CLIENT_HEADER(SALOMEDS) + +#include + +class QString; + +class TColStd_IndexedMapOfInteger; + class SALOMEDSClient_Study; class SUIT_Study; @@ -38,44 +48,37 @@ class SVTK_ViewWindow; class SVTK_Selector; class LightApp_SelectionMgr; -class SMESHGUI; - -#include - -#include "SALOMEconfig.h" -#include CORBA_CLIENT_HEADER(SALOMEDS) - -#include -#include "SMESH_Object.h" +class SalomeApp_Module; +class SMESHGUI; class SMESH_Actor; class SALOME_Actor; -class SVTK_ViewWindow; -class SalomeApp_Module; -namespace SMESH{ +namespace SMESH { //---------------------------------------------------------------------------- typedef pair TKeyOfVisualObj; - - TVisualObjPtr GetVisualObj(int theStudyId, + + TVisualObjPtr GetVisualObj(int theStudyId, const char* theEntry); //---------------------------------------------------------------------------- - SVTK_ViewWindow* GetViewWindow(const SalomeApp_Module* theModule); - - SUIT_ViewWindow* GetActiveWindow(); + SVTK_ViewWindow* GetViewWindow(const SalomeApp_Module* theModule = NULL, + bool createIfNotFound = false); - SVTK_ViewWindow* FindVtkViewWindow( SUIT_ViewManager*, - SUIT_ViewWindow* ); + SVTK_ViewWindow* FindVtkViewWindow(SUIT_ViewManager*, SUIT_ViewWindow*); - SVTK_ViewWindow* GetVtkViewWindow( SUIT_ViewWindow* ); + SVTK_ViewWindow* GetVtkViewWindow(SUIT_ViewWindow*); SVTK_ViewWindow* GetCurrentVtkView(); + //---------------------------------------------------------------------------- + void RepaintCurrentView(); void RepaintViewWindow(SVTK_ViewWindow*); void RenderViewWindow(SVTK_ViewWindow*); + void FitAll(); + //---------------------------------------------------------------------------- SMESH_Actor* FindActorByEntry (SUIT_ViewWindow*, const char* theEntry); SMESH_Actor* FindActorByEntry (const char* theEntry); @@ -89,10 +92,10 @@ namespace SMESH{ //---------------------------------------------------------------------------- enum EDisplaing {eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll}; - void UpdateView (SUIT_ViewWindow*, - EDisplaing theAction, + void UpdateView (SUIT_ViewWindow*, + EDisplaing theAction, const char* theEntry = ""); - void UpdateView (EDisplaing theAction, + void UpdateView (EDisplaing theAction, const char* theEntry = ""); void UpdateView(); @@ -101,14 +104,6 @@ namespace SMESH{ bool theDisplay); - //---------------------------------------------------------------------------- - void FitAll(); - - void RepaintCurrentView(); - - vtkRenderer* GetCurrentRenderer(); - - //---------------------------------------------------------------------------- void SetPointRepresentation(bool theIsVisible); @@ -118,20 +113,16 @@ namespace SMESH{ //---------------------------------------------------------------------------- - SVTK_Selector* - GetSelector(SUIT_ViewWindow* = GetActiveWindow()); + SVTK_Selector* GetSelector (SUIT_ViewWindow* = GetActiveWindow()); void SetFilter (const Handle(VTKViewer_Filter)& theFilter, SVTK_Selector* theSelector = GetSelector()); - Handle(VTKViewer_Filter) - GetFilter (int theId, SVTK_Selector* theSelector = GetSelector()); + Handle(VTKViewer_Filter) GetFilter (int theId, SVTK_Selector* theSelector = GetSelector()); - bool IsFilterPresent (int theId, - SVTK_Selector* theSelector = GetSelector()); + bool IsFilterPresent (int theId, SVTK_Selector* theSelector = GetSelector()); - void RemoveFilter (int theId, - SVTK_Selector* theSelector = GetSelector()); + void RemoveFilter (int theId, SVTK_Selector* theSelector = GetSelector()); void RemoveFilters (SVTK_Selector* theSelector = GetSelector()); @@ -139,36 +130,36 @@ namespace SMESH{ SVTK_Selector* theSelector = GetSelector()); //---------------------------------------------------------------------------- - int GetNameOfSelectedNodes(SVTK_Selector* theSelector, - const Handle(SALOME_InteractiveObject)& theIO, + int GetNameOfSelectedNodes(SVTK_Selector* theSelector, + const Handle(SALOME_InteractiveObject)& theIO, QString& theName); - - int GetNameOfSelectedElements(SVTK_Selector* theSelector, - const Handle(SALOME_InteractiveObject)& theIO, + + int GetNameOfSelectedElements(SVTK_Selector* theSelector, + const Handle(SALOME_InteractiveObject)& theIO, QString& theName); - - int GetEdgeNodes(SVTK_Selector* theSelector, + + int GetEdgeNodes(SVTK_Selector* theSelector, const TVisualObjPtr& theVisualObj, - int& theId1, + int& theId1, int& theId2); //---------------------------------------------------------------------------- - int GetNameOfSelectedNodes (LightApp_SelectionMgr*, - const Handle(SALOME_InteractiveObject)& theIO, + int GetNameOfSelectedNodes (LightApp_SelectionMgr*, + const Handle(SALOME_InteractiveObject)& theIO, QString& theName); - int GetNameOfSelectedNodes (LightApp_SelectionMgr*, + int GetNameOfSelectedNodes (LightApp_SelectionMgr*, QString& aName); - int GetNameOfSelectedElements (LightApp_SelectionMgr*, - const Handle(SALOME_InteractiveObject)& theIO, + int GetNameOfSelectedElements (LightApp_SelectionMgr*, + const Handle(SALOME_InteractiveObject)& theIO, QString& theName); - int GetNameOfSelectedElements (LightApp_SelectionMgr*, + int GetNameOfSelectedElements (LightApp_SelectionMgr*, QString& aName); - int GetSelected (LightApp_SelectionMgr*, - TColStd_IndexedMapOfInteger& theMap, + int GetSelected (LightApp_SelectionMgr*, + TColStd_IndexedMapOfInteger& theMap, const bool theIsElement = true ); int GetEdgeNodes (LightApp_SelectionMgr*, int& theId1, int& theId2);