Salome HOME
IPAL21265 It's impossible to select edge for Reverce in Arithmetic 1D Hypothesis...
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshOp.cxx
index f34871254654c7adab62363e53208ebada027235..35dcb43bab4e2b490942d53eb175ccab031ac676 100644 (file)
@@ -1066,14 +1066,17 @@ void SMESHGUI_MeshOp::createHypothesis (const int theDim,
       int obj = myDlg->getActiveObject();
       removeCustomFilters(); // Issue 0020170
 
-      // Set Geometry
-      QStringList aList;
-      myDlg->selectedObject( SMESHGUI_MeshDlg::Geom, aList );
-      if (aList.count() != 0)
-       aCreator->setShapeEntry( aList.first() );
-      else
-       aCreator->setShapeEntry( QString() );
-      
+      // Get Entry of the Geom object
+      QString anObjEntry = "";
+      anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
+      if ( anObjEntry == "" ) {
+       anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
+        _PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.toLatin1().data() );
+        GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
+       anObjEntry = aGeomVar->GetStudyEntry();
+      }
+
+      aCreator->setShapeEntry( anObjEntry );
       myDlg->setEnabled( false );
       aCreator->create(initParamHyp, aHypName, myDlg);
       onActivateObject( obj ); // Issue 0020170. Restore filters
@@ -1129,14 +1132,17 @@ void SMESHGUI_MeshOp::onEditHyp( const int theHypType, const int theIndex )
       getInitParamsHypothesis( aHyp->GetName(), aHyp->GetLibName());
     aCreator->setInitParamsHypothesis( initParamHyp );
 
-    // Set Geometry
-    QStringList aList;
-    myDlg->selectedObject( SMESHGUI_MeshDlg::Geom, aList );
-    if (aList.count() > 0)
-      aCreator->setShapeEntry( aList.first() );
-    else
-      aCreator->setShapeEntry( "" );
+    // Get Entry of the Geom object
+    QString anObjEntry = "";
+    anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
+    if ( anObjEntry == "" ) {
+      anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
+      _PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.toLatin1().data() );
+      GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
+      anObjEntry = aGeomVar->GetStudyEntry();
+    }
 
+    aCreator->setShapeEntry( anObjEntry );
     int obj = myDlg->getActiveObject();
     removeCustomFilters(); // Issue 0020170
     myDlg->setEnabled( false );