]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Mantis issue 0020442 remark 0010776: compound in compound.
authorjfa <jfa@opencascade.com>
Wed, 27 Apr 2011 14:17:08 +0000 (14:17 +0000)
committerjfa <jfa@opencascade.com>
Wed, 27 Apr 2011 14:17:08 +0000 (14:17 +0000)
src/STEPImport/STEPImport.cxx

index 05503980521931e8cd4d7266bea56528ba052f4e..d8142d23b0fda5af5f421417673e36e452c5f85e 100644 (file)
@@ -131,6 +131,21 @@ extern "C"
           /* For a single entity */
           else if (nbr == 1 && nbs == 1) {
             aResShape = aReader.Shape(1);
+            // ATTENTION: this is a workaround for mantis issue 0020442 remark 0010776
+            // It should be removed after patching OCCT for bug OCC22436
+            // (fix for OCCT is expected in service pack next to OCCT6.3sp12)
+            if (aResShape.ShapeType() == TopAbs_COMPOUND) {
+              int nbSub1 = 0;
+              TopoDS_Shape currShape;
+              TopoDS_Iterator It (aResShape, Standard_True, Standard_True);
+              for (; It.More(); It.Next()) {
+                nbSub1++;
+                currShape = It.Value();
+              }
+              if (nbSub1 == 1)
+                aResShape = currShape;
+            }
+            // END workaround
             break;
           }