From c0c6cee1a503d5440b64a8f0b35a34ab3ec1dd07 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 4 Mar 2010 07:30:41 +0000 Subject: [PATCH] 0020737: [CEA] Computing mesh fails * Fix constructor from regression made in frames of issue 0020676 --- src/StdMeshers/StdMeshers_FaceSide.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 )) -- 2.39.2