Salome HOME
23617: EDF 14133 - Complete Merge Nodes / Merge Elements operations
[modules/smesh.git] / src / SMESH_I / SMESH_Group_i.cxx
index d9c4b0961d208e34d40bcacc65d9bff6804a6e37..1c8257ddba7ba5135ecc30f96eaa253695a0263a 100644 (file)
@@ -150,9 +150,8 @@ void SMESH_GroupBase_i::SetName( const char* theName )
 
   // Update group name in a study
   SMESH_Gen_i*              aGen = myMeshServant->GetGen();
-  SALOMEDS::Study_var      aStudy = aGen->GetCurrentStudy();
   SMESH::SMESH_GroupBase_var aGrp = _this();
-  SALOMEDS::SObject_var      anSO = aGen->ObjectToSObject( aStudy, aGrp );
+  SALOMEDS::SObject_var      anSO = aGen->ObjectToSObject( aGrp );
   if ( !anSO->_is_nil() )
   {
     aGen->SetName( anSO, theName );
@@ -474,8 +473,9 @@ SMESH::long_array* SMESH_GroupBase_i::GetListOfID()
   {
     int aSize = aGroupDS->Extent();
     aRes->length(aSize);
-    for (int i = 0; i < aSize; i++)
-      aRes[i] = aGroupDS->GetID(i+1);
+    SMDS_ElemIteratorPtr it = aGroupDS->GetElements();
+    for (int i = 0; it->more(); i++)
+      aRes[i] = it->next()->GetID();
 
     if ( 0 < aSize && aSize < 100 ) // for comfortable testing ;)
       std::sort( &aRes[0], &aRes[0]+aSize );
@@ -838,7 +838,13 @@ void SMESH_GroupOnFilter_i::SetFilter(SMESH::Filter_ptr theFilter)
     Modified(); // notify dependent Filter with FT_BelongToMeshGroup criterion
   }
 
-  TPythonDump()<< SMESH::SMESH_GroupOnFilter_var(_this()) <<".SetFilter( "<<theFilter<<" )";
+  SMESH::SMESH_GroupOnFilter_var me = _this();
+
+  // mark the group valid after edition
+  GetMeshServant()->GetGen()->HighLightInvalid( me, false );
+
+
+  TPythonDump()<< me <<".SetFilter( "<< theFilter <<" )";
 }
 
 //================================================================================