Salome HOME
0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids
authoreap <eap@opencascade.com>
Fri, 17 Sep 2010 05:35:42 +0000 (05:35 +0000)
committereap <eap@opencascade.com>
Fri, 17 Sep 2010 05:35:42 +0000 (05:35 +0000)
   Fix fillAncestorsMap(theShape) for the case if a sub-shape of
   theShape is not in _mapAncestors

src/SMESH/SMESH_Mesh.cxx

index b37c0e646ee174bd43817bad2819ce9061094b2c..d7fb290db1224f5120d5897d6407493b346e83bf 100644 (file)
@@ -1615,6 +1615,7 @@ void SMESH_Mesh::fillAncestorsMap(const TopoDS_Shape& theShape)
     for ( desType = TopAbs_VERTEX; desType >= memberType; desType-- )
       for (TopExp_Explorer des( theShape, TopAbs_ShapeEnum( desType )); des.More(); des.Next())
       {
+        if ( !_mapAncestors.Contains( des.Current() )) continue;// issue 0020982
         TopTools_ListOfShape& ancList = _mapAncestors.ChangeFromKey( des.Current() );
         TopTools_ListIteratorOfListOfShape ancIt (ancList);
         while ( ancIt.More() && ancIt.Value().ShapeType() >= memberType )