From 2b5a1ab419098ec231ea3d36bafebc96b475d85b Mon Sep 17 00:00:00 2001 From: jfa Date: Fri, 3 Nov 2006 09:05:46 +0000 Subject: [PATCH] PAL12612: Partition failed. Fix: set approximation parameter of boolean operation SECTION to 'true' to have smooth BSpline curves for new edges, where analytic curve is not possible. --- src/GEOMImpl/GEOMImpl_BooleanDriver.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx b/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx index 045ca5ade..2a7c71386 100644 --- a/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_BooleanDriver.cxx @@ -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"); } -- 2.39.2