Salome HOME
22372: EDF 2758 SMESH: Create/Manage groups on a mesh composed of nodes and balls
authoreap <eap@opencascade.com>
Thu, 14 Nov 2013 09:17:58 +0000 (09:17 +0000)
committereap <eap@opencascade.com>
Thu, 14 Nov 2013 09:17:58 +0000 (09:17 +0000)
Performance optimization for groups on filter:

int SMESHGUI_Selection::numberOfNodes( int ind ) const
{
...
-        return aGroupObj->Size();
+        return aGroupObj->IsEmpty(); // aGroupObj->Size();

src/SMESHGUI/SMESHGUI_Selection.cxx

index 86a9292141693bf30ae063814bd47c386ffec12d..5656e4b44d2e75196fb11897c2ba8a42665849df 100644 (file)
@@ -382,7 +382,7 @@ bool SMESHGUI_Selection::isAutoColor( int ind ) const
 
 //=======================================================================
 //function : numberOfNodes
-//purpose  : 
+//purpose  : this method is actually used to check if an object is empty or not
 //=======================================================================
 
 int SMESHGUI_Selection::numberOfNodes( int ind ) const
@@ -401,7 +401,7 @@ int SMESHGUI_Selection::numberOfNodes( int ind ) const
         return aSubMeshObj->GetNumberOfNodes(true);
       SMESH::SMESH_GroupBase_var aGroupObj = SMESH::SMESH_GroupBase::_narrow( obj );
       if ( !aGroupObj->_is_nil() )
-        return aGroupObj->Size();
+        return aGroupObj->IsEmpty(); // aGroupObj->Size();
     }
   }
   return 0;