From 7be9f329c4c3d3a870ccbfa44fe90ff07987c63d Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 11 Feb 2010 08:25:06 +0000 Subject: [PATCH] 0020676: EDF 1212 GEOM: Partition operation creates vertices which causes mesh computation to fail with netgen * Fix GetOrderedEdges(): workaroud for BRepTools_WireExplorer, which return no edges if they are internal --- src/SMESH/SMESH_Block.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/SMESH/SMESH_Block.cxx b/src/SMESH/SMESH_Block.cxx index 821d8fa9f..14b373536 100644 --- a/src/SMESH/SMESH_Block.cxx +++ b/src/SMESH/SMESH_Block.cxx @@ -1000,6 +1000,11 @@ int SMESH_Block::GetOrderedEdges (const TopoDS_Face& theFace, // edge = TopoDS::Edge( edge.Oriented( wExp.Orientation() )); theEdges.push_back( edge ); } + if ( iE == 0 ) // wExp returns nothing if e.g. the wire contains one internal edge + { // Issue 0020676 + for ( TopoDS_Iterator e( *wlIt ); e.More(); e.Next(), ++iE ) + theEdges.push_back( TopoDS::Edge( e.Value() )); + } theNbVertexInWires.push_back( iE ); iE = 0; if ( wlIt == aWireList.begin() && theEdges.size() > 1 ) { // the outer wire -- 2.39.2