Salome HOME
0021799: EDF 2344 SMESH: Existing groups are not taken into account when adding new...
authoreap <eap@opencascade.com>
Mon, 13 Aug 2012 09:05:13 +0000 (09:05 +0000)
committereap <eap@opencascade.com>
Mon, 13 Aug 2012 09:05:13 +0000 (09:05 +0000)
  fix a regression in buildElemPrs()

src/OBJECT/SMESH_Object.cxx

index b6c1c265cbfb8c1e7f531d5b02b3008ae5866408..30bef057940ff267aebc4eed6203d4e94baf83a5 100644 (file)
@@ -353,9 +353,13 @@ void SMESH_VisualObjDef::buildElemPrs()
   map<SMDSAbs_ElementType,int> nbEnts;
   map<SMDSAbs_ElementType,TEntityList> anEnts;
 
+  vtkIdType aNbCells = 0;
+
   for ( int i = 0; i < nbTypes; i++ )
+  {
     nbEnts[ aTypes[ i ] ] = GetEntities( aTypes[ i ], anEnts[ aTypes[ i ] ] );
-
+    aNbCells += nbEnts[ aTypes [ i ]];
+  }
   // PAL16631: without swap, bad_alloc is not thrown but hung up and crash instead,
   // so check remaining memory size for safety
   SMDS_Mesh::CheckMemory(); // PAL16631
@@ -363,12 +367,8 @@ void SMESH_VisualObjDef::buildElemPrs()
   vtkIdType aCellsSize =  2 * nbEnts[ SMDSAbs_0DElement ] + 3 * nbEnts[ SMDSAbs_Edge ];
   aCellsSize += 2 * nbEnts[ SMDSAbs_Ball ];
 
-  vtkIdType aNbCells = 0;
-
   for ( int i = 1; i <= 2; i++ ) // iterate through faces and volumes
   {
-    aNbCells += nbEnts[ aTypes[ i ]];
-
     if ( nbEnts[ aTypes[ i ] ] )
     {
       const TEntityList& aList = anEnts[ aTypes[ i ] ];