From 0ac607ce187c066b800cc3905225006e1dd39a51 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 25 Aug 2016 16:56:59 +0300 Subject: [PATCH] 0053235: Using of 'Remove tiny edges' in MG-CADSurf produces free nodes. --- src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx index ca54cf3..2634909 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx +++ b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx @@ -2800,6 +2800,12 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh& aMesh, } } + // Remove free nodes that can appear e.g. if "remove tiny edges"(IPAL53235) + for(int iv=1;iv<=nv;iv++) + if ( tags[iv] && nodes[iv] && nodes[iv]->NbInverseElements() == 0 ) + meshDS->RemoveFreeNode( nodes[iv], 0, /*fromGroups=*/false ); + + // SetIsAlwaysComputed( true ) to sub-meshes of EDGEs w/o mesh for (int i = 1; i <= emap.Extent(); i++) if ( SMESH_subMesh* sm = aMesh.GetSubMeshContaining( emap( i ))) -- 2.39.2