Salome HOME
0021897: EDF 1495 SMESH : Problem with groups when building a compound with medballs
authoreap <eap@opencascade.com>
Tue, 9 Oct 2012 14:02:38 +0000 (14:02 +0000)
committereap <eap@opencascade.com>
Tue, 9 Oct 2012 14:02:38 +0000 (14:02 +0000)
   Make control variable of for different in outer (on meshes) and
   inner (on groups) loops.

src/SMESH_I/SMESH_Gen_i.cxx

index dc47f8a848a90ef34afd293464453bb63e1add95..00cc36bee86238e73b45f83ae3f43fd5e0f2aeee 100644 (file)
@@ -2213,6 +2213,7 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::mesh_array& theMeshesArray,
           SMESH_Mesh_i* anInitImpl = dynamic_cast<SMESH_Mesh_i*>( GetServant( anInitMesh ).in() );
           if ( anInitImpl ) {
             ::SMESH_Mesh& aInitLocMesh = anInitImpl->GetImpl();
+            aInitLocMesh.Load();
             SMESHDS_Mesh* anInitMeshDS = aInitLocMesh.GetMeshDS();
 
             TIDsMap nodesMap;
@@ -2309,7 +2310,7 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::mesh_array& theMeshesArray,
                   }
                 }
               }
-            }//elems loop
+            } //elems loop
 
             // copy orphan nodes
             SMDS_NodeIteratorPtr  itNodes = anInitMeshDS->nodesIterator();
@@ -2411,8 +2412,8 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::mesh_array& theMeshesArray,
             }
 
             // check that current group name and type don't have identical ones in union mesh
-            for (int i = 0; i < aListOfGroups->length(); i++) {
-              aGroup = aListOfGroups[i];
+            for (int iG = 0; iG < aListOfGroups->length(); iG++) {
+              aGroup = aListOfGroups[iG];
               aListOfNewGroups.clear();
               aGroupType = aGroup->GetType();
               aGroupName = aGroup->GetName();