#include <Standard_NullObject.hxx>
#include <StdFail_NotDone.hxx>
#include <BOPAlgo_CheckerSI.hxx>
+#if OCC_VERSION_LARGE > 0x07010000
+#include <BOPAlgo_Alerts.hxx>
+#endif
#include <BOPCol_IndexedDataMapOfShapeListOfShape.hxx>
#include <BOPCol_ListOfShape.hxx>
#include <BOPDS_DS.hxx>
aCSI.SetLevelOfCheck(BOP_SELF_INTERSECTIONS_LEVEL);
aCSI.SetArguments(aList);
aCSI.Perform();
-
+#if OCC_VERSION_LARGE > 0x07010000
+ if (aCSI.HasErrors() || aCSI.DS().Interferences().Extent() > 0) {
+#else
if (aCSI.ErrorStatus() || aCSI.DS().Interferences().Extent() > 0) {
+#endif
StdFail_NotDone::Raise("Partition operation will not be performed, because argument shape is self-intersected");
}
}
aShape = PS.Shape();
if (aShape.IsNull()) {
// Mantis issue 22009
+#if OCC_VERSION_LARGE > 0x07010000
+ if (PS.HasError(STANDARD_TYPE(BOPAlgo_AlertTooFewArguments)) && PS.Tools().Extent() == 0 && PS.Arguments().Extent() == 1)
+#else
if (PS.ErrorStatus() == 100 && PS.Tools().Extent() == 0 && PS.Arguments().Extent() == 1)
+#endif
aShape = PS.Arguments().First();
else
return 0;