From e0baca518ca2fcd516f8e27d01ddef9de758b0df Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 17 Sep 2010 05:35:42 +0000 Subject: [PATCH] 0020982: EDF 1547 SMESH: Creation of non-conformal quadratic pyramids Fix fillAncestorsMap(theShape) for the case if a sub-shape of theShape is not in _mapAncestors --- src/SMESH/SMESH_Mesh.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/SMESH/SMESH_Mesh.cxx b/src/SMESH/SMESH_Mesh.cxx index b37c0e646..d7fb290db 100644 --- a/src/SMESH/SMESH_Mesh.cxx +++ b/src/SMESH/SMESH_Mesh.cxx @@ -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 )