0020737: [CEA] Computing mesh fails

* Fix constructor from regression made in frames of issue 0020676
This commit is contained in:
eap 2010-03-04 07:30:41 +00:00
parent 859674eaf0
commit c0c6cee1a5

View File

@ -134,13 +134,16 @@ StdMeshers_FaceSide::StdMeshers_FaceSide(const TopoDS_Face& theFace,
myNbPonits += nbN; myNbPonits += nbN;
myNbSegments += sm->NbElements(); myNbSegments += sm->NbElements();
} }
// TopExp::FirstVertex() and TopExp::LastVertex() return NULL from INTERNAL edge
vExp.Initialize( *edge ); vExp.Initialize( *edge );
if ( vExp.Value().Orientation() == TopAbs_REVERSED ) vExp.Next();
if ( SMESH_Algo::VertexNode( TopoDS::Vertex( vExp.Value()), meshDS )) if ( SMESH_Algo::VertexNode( TopoDS::Vertex( vExp.Value()), meshDS ))
myNbPonits += 1; // for the first end myNbPonits += 1; // for the first end
else else
myMissingVertexNodes = true; myMissingVertexNodes = true;
} }
vExp.Next(); vExp.Initialize( theEdges.back() );
if ( vExp.Value().Orientation() != TopAbs_REVERSED ) vExp.Next();
if ( vExp.More() ) if ( vExp.More() )
{ {
if ( SMESH_Algo::VertexNode( TopoDS::Vertex( vExp.Value()), meshDS )) if ( SMESH_Algo::VertexNode( TopoDS::Vertex( vExp.Value()), meshDS ))