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=bdaaa515f7d8796b96f7314da86ce92e022ccb96;hp=e8cd0a3df3dbaa072a35ba7617e73c430da65960;hb=09607afb276900e0f0a7b95a01751fe628020a39;hpb=8b6d98aa4acd8176f72ff5b96693bcfef0f9ebd5 diff --git a/src/SMESH_I/SMESH_Gen_i.cxx b/src/SMESH_I/SMESH_Gen_i.cxx index e8cd0a3df..bdaaa515f 100644 --- a/src/SMESH_I/SMESH_Gen_i.cxx +++ b/src/SMESH_I/SMESH_Gen_i.cxx @@ -2485,10 +2485,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();