]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESH_I/SMESH_Group_i.cxx
Salome HOME
Debug
[modules/smesh.git] / src / SMESH_I / SMESH_Group_i.cxx
index 045e691b9c79315a0a32e7c1125b73fa8661fe18..7502c5409c8901569c350080a2564b4945071e11 100644 (file)
@@ -305,8 +305,8 @@ typedef bool (SMESHDS_Group::*TFunChangeGroup)(const int);
 
 CORBA::Long 
 ChangeByPredicate( SMESH::Predicate_i* thePredicate,
-                  SMESHDS_GroupBase* theGroupBase,
-                  TFunChangeGroup theFun)
+                   SMESHDS_GroupBase* theGroupBase,
+                   TFunChangeGroup theFun)
 {
   CORBA::Long aNb = 0;
   if(SMESHDS_Group* aGroupDS = dynamic_cast<SMESHDS_Group*>(theGroupBase)){
@@ -317,7 +317,7 @@ ChangeByPredicate( SMESH::Predicate_i* thePredicate,
     CORBA::Long i = 0, iEnd = aSequence.size();
     for(; i < iEnd; i++)
       if((aGroupDS->*theFun)(aSequence[i]))
-       aNb++;
+        aNb++;
     return aNb;
   }
   return aNb;
@@ -487,3 +487,27 @@ void SMESH_GroupBase_i::SetColorNumber(CORBA::Long color)
   MESSAGE("set color number of a group");
   return ;
 }
+
+//=============================================================================
+/*!
+ * Returns statistic of mesh elements
+ * Result array of number enityties
+ * Inherited from SMESH_IDSource
+ */
+//=============================================================================
+SMESH::long_array* SMESH_GroupBase_i::GetMeshInfo()
+{
+  SMESH::long_array_var aRes = new SMESH::long_array();
+  aRes->length(SMESH::Entity_Last);
+  for (int i = SMESH::Entity_Node; i < SMESH::Entity_Last; i++)
+    aRes[i] = 0;
+
+  SMESHDS_GroupBase* aGrpDS = GetGroupDS();
+  if ( !aGrpDS )
+    return aRes._retn();
+  if ( GetType() == NODE )
+    aRes[ SMESH::Entity_Node ] = aGrpDS->Extent();
+  else
+    SMESH_Mesh_i::CollectMeshInfo( aGrpDS->GetElements(), aRes);
+  return aRes._retn();
+}