X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Gen_i.cxx;h=2e11e27e580236fa7145fa8da347eea2a65ae923;hp=a32d4db78fd67900433e0f1a6bf434f5406e7f15;hb=77b01c6a801f64d91307f8fbedb6da13f075fd2e;hpb=776a610c849651350f344157ec7fbb170ca3e8cc diff --git a/src/SMESH_I/SMESH_Gen_i.cxx b/src/SMESH_I/SMESH_Gen_i.cxx index a32d4db78..2e11e27e5 100644 --- a/src/SMESH_I/SMESH_Gen_i.cxx +++ b/src/SMESH_I/SMESH_Gen_i.cxx @@ -2504,10 +2504,13 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::ListOfIDSources& theMeshesArray, // assure that IDs increments by one during iteration ::SMESH_Mesh& initLocMesh = initImpl->GetImpl(); - SMESHDS_Mesh* initMeshDS = initLocMesh.GetMeshDS(); - if ( initMeshDS->MaxNodeID() != initMeshDS->NbNodes() || - initMeshDS->MaxElementID() != initMeshDS->NbElements() ) + SMESHDS_Mesh* initMeshDS = initLocMesh.GetMeshDS(); + if ( initMeshDS->MaxNodeID() > initMeshDS->NbNodes() || + initMeshDS->MaxElementID() > initMeshDS->NbElements() ) + { + initMeshDS->Modified(); initMeshDS->CompactMesh(); + } // remember nb of elements before filling in SMESH::long_array_var prevState = newMesh->GetNbElementsByType();