]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Return back workaround for embedded compounds since the OCCT patch does not work...
authorvsr <vsr@opencascade.com>
Wed, 29 Jun 2011 13:03:38 +0000 (13:03 +0000)
committervsr <vsr@opencascade.com>
Wed, 29 Jun 2011 13:03:38 +0000 (13:03 +0000)
src/STEPImport/STEPImport.cxx

index 037339e1dba2c72ce56901487a36942ae2b8597f..22f0dee18fb7ec1dbdadf10485f3195d5255d913 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;
           }