//
// This file is part of Open CASCADE Technology software library.
//
-// This library is free software; you can redistribute it and / or modify it
-// under the terms of the GNU Lesser General Public version 2.1 as published
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-#include <BOPAlgo_Algo.ixx>
+#include <BOPAlgo_Algo.hxx>
+#include <Message_ProgressIndicator.hxx>
#include <NCollection_BaseAllocator.hxx>
+#include <Standard_NotImplemented.hxx>
+#include <Standard_ProgramError.hxx>
+
+namespace
+{
+ Standard_Boolean myGlobalRunParallel = Standard_False;
+}
+
+//=======================================================================
+// function:
+// purpose:
+//=======================================================================
+void BOPAlgo_Algo::SetParallelMode(Standard_Boolean theNewMode)
+{
+ myGlobalRunParallel = theNewMode;
+}
+
+//=======================================================================
+// function:
+// purpose:
+//=======================================================================
+Standard_Boolean BOPAlgo_Algo::GetParallelMode()
+{
+ return myGlobalRunParallel;
+}
+
//=======================================================================
// function:
myAllocator(NCollection_BaseAllocator::CommonBaseAllocator()),
myErrorStatus(1),
myWarningStatus(0),
- myRunParallel(Standard_False)
+ myRunParallel(myGlobalRunParallel)
{}
//=======================================================================
// function:
myAllocator(theAllocator),
myErrorStatus(1),
myWarningStatus(0),
- myRunParallel(Standard_False)
+ myRunParallel(myGlobalRunParallel)
{}
//=======================================================================
{
return myRunParallel;
}
+//=======================================================================
+//function : SetProgressIndicator
+//purpose :
+//=======================================================================
+void BOPAlgo_Algo::SetProgressIndicator
+ (const Handle(Message_ProgressIndicator)& theObj)
+{
+ if (!theObj.IsNull()) {
+ myProgressIndicator=theObj;
+ }
+}
+//=======================================================================
+//function : UserBreak
+//purpose :
+//=======================================================================
+void BOPAlgo_Algo::UserBreak() const
+{
+ if (myProgressIndicator.IsNull()) {
+ return;
+ }
+ if (myProgressIndicator->UserBreak()) {
+ Standard_NotImplemented::Raise("");
+ }
+}
// myErrorStatus
//
// 1 - object is just initialized