From: eap Date: Sat, 6 May 2006 08:16:25 +0000 (+0000) Subject: fix QuadToTri() on quadratic elements not bound to shape X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=886a97a2e4a10cdec093bc2555a12b709a357512;p=modules%2Fsmesh.git fix QuadToTri() on quadratic elements not bound to shape --- diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index d54b9a8b4..4f335dcd4 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -879,7 +879,9 @@ bool SMESH_MeshEditor::QuadToTri (map & theElems, // get surface elem is on if ( aShapeId != helper.GetSubShapeID() ) { surface.Nullify(); - TopoDS_Shape shape = aMesh->IndexToShape( aShapeId ); + TopoDS_Shape shape; + if ( aShapeId > 0 ) + shape = aMesh->IndexToShape( aShapeId ); if ( !shape.IsNull() && shape.ShapeType() == TopAbs_FACE ) { TopoDS_Face face = TopoDS::Face( shape ); surface = BRep_Tool::Surface( face ); @@ -1102,7 +1104,9 @@ bool SMESH_MeshEditor::QuadToTri (std::map & theEle int aShapeId = FindShape( elem ); if ( aShapeId != helper.GetSubShapeID() ) { surface.Nullify(); - TopoDS_Shape shape = aMesh->IndexToShape( aShapeId ); + TopoDS_Shape shape; + if ( aShapeId > 0 ) + shape = aMesh->IndexToShape( aShapeId ); if ( !shape.IsNull() && shape.ShapeType() == TopAbs_FACE ) { TopoDS_Face face = TopoDS::Face( shape ); surface = BRep_Tool::Surface( face );