]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
0052637: Make Solid from connected face does not work on compound of faces
authormpa <mpa@opencascade.com>
Fri, 20 Mar 2015 09:22:55 +0000 (12:22 +0300)
committermpa <mpa@opencascade.com>
Fri, 20 Mar 2015 09:22:55 +0000 (12:22 +0300)
src/GEOMImpl/GEOMImpl_ShapeDriver.cxx

index 8913213ce73e5739126566584097177f8e8fecfe..d98b007ac24d63b3e858dbcfedfcb75253a70d1e 100644 (file)
@@ -500,6 +500,18 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
       if (aShape_i.IsNull()) {
         Standard_NullObject::Raise("Shape for solid construction is null");
       }
+      if (aShape_i.ShapeType() == TopAbs_COMPOUND) {
+        TopoDS_Iterator It (aShape_i, Standard_True, Standard_True);
+        for (; It.More(); It.Next()) {
+          TopoDS_Shape aSubShape = It.Value();
+          if (aSubShape.ShapeType() == TopAbs_FACE || aSubShape.ShapeType() == TopAbs_SHELL)
+            aLS.Append(aSubShape);
+          else
+            Standard_TypeMismatch::Raise
+              ("Shape for solid construction is neither a list of faces and/or shells "
+               "nor a compound of faces and/or shells");
+        }
+      }
       aLS.Append(aShape_i);
     }