From: eap Date: Thu, 4 Mar 2010 07:30:41 +0000 (+0000) Subject: 0020737: [CEA] Computing mesh fails X-Git-Tag: V5_1_4a1~51 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c0c6cee1a503d5440b64a8f0b35a34ab3ec1dd07;p=modules%2Fsmesh.git 0020737: [CEA] Computing mesh fails * Fix constructor from regression made in frames of issue 0020676 --- diff --git a/src/StdMeshers/StdMeshers_FaceSide.cxx b/src/StdMeshers/StdMeshers_FaceSide.cxx index e464d0f12..56fa77294 100644 --- a/src/StdMeshers/StdMeshers_FaceSide.cxx +++ b/src/StdMeshers/StdMeshers_FaceSide.cxx @@ -134,13 +134,16 @@ StdMeshers_FaceSide::StdMeshers_FaceSide(const TopoDS_Face& theFace, myNbPonits += nbN; myNbSegments += sm->NbElements(); } + // TopExp::FirstVertex() and TopExp::LastVertex() return NULL from INTERNAL edge vExp.Initialize( *edge ); + if ( vExp.Value().Orientation() == TopAbs_REVERSED ) vExp.Next(); if ( SMESH_Algo::VertexNode( TopoDS::Vertex( vExp.Value()), meshDS )) myNbPonits += 1; // for the first end else myMissingVertexNodes = true; } - vExp.Next(); + vExp.Initialize( theEdges.back() ); + if ( vExp.Value().Orientation() != TopAbs_REVERSED ) vExp.Next(); if ( vExp.More() ) { if ( SMESH_Algo::VertexNode( TopoDS::Vertex( vExp.Value()), meshDS ))