]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESH/SMESH_MeshEditor.cxx
Salome HOME
fix QuadToTri() on quadratic elements not bound to shape
[modules/smesh.git] / src / SMESH / SMESH_MeshEditor.cxx
index d54b9a8b4aa5a54fa6cc9dde6113f93edc23a7e9..4f335dcd4c17c049aa4448e592da540c887113fe 100644 (file)
@@ -879,7 +879,9 @@ bool SMESH_MeshEditor::QuadToTri (map<int,const SMDS_MeshElement*> &   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<int,const SMDS_MeshElement*> & 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 );