From: eap Date: Tue, 3 Nov 2009 07:13:24 +0000 (+0000) Subject: IPAL21297: errors for Netgen_1D_2D X-Git-Tag: V5_1_3rc2~22 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=debaa376dae156b3d72087d03f334fcca64dfa7b;p=modules%2Fgeom.git IPAL21297: errors for Netgen_1D_2D In UnionIDs(), check type of a member to add --- diff --git a/src/GEOMImpl/GEOMImpl_IGroupOperations.cxx b/src/GEOMImpl/GEOMImpl_IGroupOperations.cxx index b9734d9c4..ab894fcbc 100644 --- a/src/GEOMImpl/GEOMImpl_IGroupOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IGroupOperations.cxx @@ -567,13 +567,17 @@ void GEOMImpl_IGroupOperations::UnionIDs (Handle(GEOM_Object) theGroup, TopTools_IndexedMapOfShape mapIndices; TopExp::MapShapes(aMainShape, mapIndices); + // Get group type + TopAbs_ShapeEnum aType = GetType(theGroup); + // Get IDs of sub-shapes to add Standard_Integer i, new_id; for (i = 1; i <= aLen; i++) { new_id = theSubShapes->Value(i); if (0 < new_id && new_id <= mapIndices.Extent()) { - if (mapIDs.Add(new_id)) { + //if (mapIDs.Add(new_id)) { IPAL21297. Why we ignore invalid ids silently? + if (mapIDs.Add(new_id) && mapIndices(new_id).ShapeType()==aType ) { aNewIDs.Append(new_id); } }