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.
This commit is contained in:
eap 2013-03-29 15:20:32 +00:00
parent b017154701
commit 7daf8d6589

View File

@ -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;