- 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);
-
-// SMDS_ElemIteratorPtr it = aGrpDS->GetElements();
-// if ( it->more() )
-// {
-// cout << "START" << endl;
-// set< const SMDS_MeshElement* > nodes;
-// const SMDS_MeshElement* e = it->next();
-// for ( int i = 0; i < 1000000; ++i)
-// {
-// SMDS_ElemIteratorPtr it = e->nodesIterator();
-// nodes.insert( e + i );
-// }
-// cout << "END "<< nodes.size() << endl;
-// }
-
+ if ( SMESHDS_GroupBase* g = GetGroupDS())
+ {
+ if ( g->GetType() == SMDSAbs_Node || ( myNbNodes > -1 && g->GetTic() == myGroupDSTic))
+ aRes[ SMDSEntity_Node ] = GetNumberOfNodes();
+
+ if ( g->GetType() != SMDSAbs_Node )
+ SMESH_Mesh_i::CollectMeshInfo( g->GetElements(), aRes);
+ }
+