From db1df018eb76a51179657d38e52a3c6b41656b87 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 5 Nov 2019 22:00:23 +0300 Subject: [PATCH] BUG: mesh.Append( nodeGroup ) adds nodes twice --- src/SMESH_I/SMESH_Gen_i.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SMESH_I/SMESH_Gen_i.cxx b/src/SMESH_I/SMESH_Gen_i.cxx index f9ef142dc..a66cb766e 100644 --- a/src/SMESH_I/SMESH_Gen_i.cxx +++ b/src/SMESH_I/SMESH_Gen_i.cxx @@ -2542,7 +2542,7 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::ListOfIDSources& theMeshesArray, continue; initImpl->Load(); - // assure that IDs increments by one during iteration + // assure that IDs increment by one during iteration ::SMESH_Mesh& initLocMesh = initImpl->GetImpl(); SMESHDS_Mesh* initMeshDS = initLocMesh.GetMeshDS(); if ( initMeshDS->MaxNodeID() > initMeshDS->NbNodes() || @@ -2567,6 +2567,9 @@ SMESH_Gen_i::ConcatenateCommon(const SMESH::ListOfIDSources& theMeshesArray, // copy elements + SMESH::array_of_ElementType_var srcElemTypes = theMeshesArray[i]->GetTypes(); + if ( srcElemTypes->length() == 1 && srcElemTypes[0] == SMESH::NODE ) // group of nodes + continue; std::vector< const SMDS_MeshElement* > newElems( initMeshDS->NbElements() + 1, 0 ); elemIt = initImpl->GetElements( theMeshesArray[i], SMESH::ALL ); while ( elemIt->more() )