]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
IPAL21297: errors for Netgen_1D_2D
authoreap <eap@opencascade.com>
Tue, 3 Nov 2009 07:15:02 +0000 (07:15 +0000)
committereap <eap@opencascade.com>
Tue, 3 Nov 2009 07:15:02 +0000 (07:15 +0000)
  In UnionIDs(), check type of a member to add

src/GEOMImpl/GEOMImpl_IGroupOperations.cxx

index b9734d9c4c14c90770c285bcc62edc4bc1d5fd65..ab894fcbcc875bf487443f4d88184379457962f8 100644 (file)
@@ -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);
       }
     }