]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
PAL12612: Partition failed. Fix: set approximation parameter of boolean operation...
authorjfa <jfa@opencascade.com>
Fri, 3 Nov 2006 09:05:46 +0000 (09:05 +0000)
committerjfa <jfa@opencascade.com>
Fri, 3 Nov 2006 09:05:46 +0000 (09:05 +0000)
src/GEOMImpl/GEOMImpl_BooleanDriver.cxx

index 045ca5adefe439103554e748404f79a9f5cfd99d..2a7c71386758c32e2ab14d51bccfc24e2f975b73 100644 (file)
@@ -257,7 +257,13 @@ Standard_Integer GEOMImpl_BooleanDriver::Execute(TFunction_Logbook& log) const
         TopTools_ListIteratorOfListOfShape itSub2 (listShape2);
         for (; itSub2.More(); itSub2.Next()) {
           TopoDS_Shape aValue2 = itSub2.Value();
-          BRepAlgoAPI_Section BO (aValue1, aValue2);
+          BRepAlgoAPI_Section BO (aValue1, aValue2, Standard_False);
+          // Set approximation to have an attached 3D BSpline geometry to each edge,
+          // where analytic curve is not possible. Without this flag in some cases
+          // we obtain BSpline curve of degree 1 (C0), which is slowly
+          // processed by some algorithms (Partition for example).
+          BO.Approximation(Standard_True);
+          BO.Build();
           if (!BO.IsDone()) {
             StdFail_NotDone::Raise("Section operation can not be performed on the given shapes");
           }