From 7daf8d6589f711cb95332df9f79b72438a7da245 Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 29 Mar 2013 15:20:32 +0000 Subject: [PATCH] 0022183: EDF SMESH: Error with ConvertToQuadratic In getMediumNodeOnComposedWire(), prevent an exception at setting a medium node, already added to a sub-mesh in AddNode() due to mySetElemOnShape==true, to another EDGE. --- src/SMESH/SMESH_MesherHelper.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SMESH/SMESH_MesherHelper.cxx b/src/SMESH/SMESH_MesherHelper.cxx index 4388b6f01..47feba98b 100644 --- a/src/SMESH/SMESH_MesherHelper.cxx +++ b/src/SMESH/SMESH_MesherHelper.cxx @@ -1378,8 +1378,12 @@ const SMDS_MeshNode* SMESH_MesherHelper::getMediumNodeOnComposedWire(const SMDS_ } //if ( mySetElemOnShape ) node is not elem! - GetMeshDS()->SetNodeOnEdge(n12, edges[iOkEdge], u); - + { + int edgeID = GetMeshDS()->ShapeToIndex( edges[iOkEdge] ); + if ( edgeID != n12->getshapeId() ) + GetMeshDS()->UnSetNodeOnShape( n12 ); + GetMeshDS()->SetNodeOnEdge(n12, edgeID, u); + } myTLinkNodeMap.insert( make_pair( SMESH_TLink(n1,n2), n12 )); return n12; -- 2.39.2