TopTools_ListIteratorOfListOfShape itSub1 (listShapes);
for (; itSub1.More(); itSub1.Next()) {
TopoDS_Shape aCut = itSub1.Value();
+#if 0 /*USE_FUZZY*/
+ TopTools_ListOfShape lstArgs;
+ lstArgs.Append(aCut);
+ // tools
+ // TopTools_ListIteratorOfListOfShape itSub2 (listTools);
+ // TopTools_ListOfShape lstTools;
+ // for (; itSub2.More(); itSub2.Next()) {
+ // TopoDS_Shape aTool = itSub2.Value();
+ // lstTools.Append(aTool);
+ // // // BRepAlgoAPI_Cut BO;
+ // // // BO.SetArguments(lstArgs);
+ // // // BO.SetTools(lstTools);
+ // // // BO.SetFuzzyValue(1.e-5);
+ // // // BO.Build();
+ // // if (!BO.IsDone()) {
+ // // StdFail_NotDone::Raise("Cut operation can not be performed on the given shapes");
+ // // }
+ // // aCut = BO.Shape();
+ // }
+ BRepAlgoAPI_Cut BO;
+ BO.SetArguments(lstArgs);
+ BO.SetTools(listTools);// (lstTools);
+ BO.SetFuzzyValue(1.e-5);
+ BO.Build();
+ if (!BO.IsDone()) {
+ StdFail_NotDone::Raise("Cut operation can not be performed on the given shapes");
+ }
+ aCut = BO.Shape();
+#else /*ORIGINAL*/
// tools
TopTools_ListIteratorOfListOfShape itSub2 (listTools);
for (; itSub2.More(); itSub2.Next()) {
}
aCut = BO.Shape();
}
+#endif
if (isCompound) {
// check result of this step: if it is a compound (boolean operations
// always return a compound), we add all sub-shapes of it.