Salome HOME
0023180: [CEA 1602] Regression : MakePartition of a solid by an empty compound return...
authorvsr <vsr@opencascade.com>
Wed, 7 Oct 2015 11:16:02 +0000 (14:16 +0300)
committervsr <vsr@opencascade.com>
Wed, 7 Oct 2015 11:16:02 +0000 (14:16 +0300)
- Allow creating empty compounds

src/GEOMImpl/GEOMImpl_ShapeDriver.cxx

index 46b7d1d7bd3c45999edf4e430cb7db9a89ebdb85..8b585f83eb84600974d473540fda0a53d1070955 100644 (file)
@@ -114,14 +114,15 @@ namespace
   {
     TopoDS_Iterator it( c, Standard_True, Standard_True );
 
-    // check that compound is not empty
-    bool result = it.More();
+    // empty compound is OK only if we explicitly create a compound of shapes
+    bool result = true;
 
     // => if expected type is TopAbs_SHAPE, we allow compound consisting of any shapes, this above check is enough
     // => otherwise we have to check compound's content
     // => compound sometimes can contain enclosed compound(s), we process them recursively and rebuild initial compound
 
     if ( t != TopAbs_SHAPE ) {
+      result = it.More();
       std::list<TopoDS_Shape> compounds, shapes;
       compounds.push_back( c );
       while ( !compounds.empty() && result ) {