mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0027300: Boolean operation produces invalid shape in terms of "bopargcheck" command
1. Check, if value found by math_PSO algorithm cannot be precised by math_NewtonMinimum algorithm. In this case, we call math_PSO algorithm repeatedly, however, with other parameters. 2. Some margin of edge tolerance value has been provided in IntTools_Tools class. 3. Interface of math_NewtonMinimum class has been changed (method GetStatus() has been added). Correction of some test cases according to their new behavior.
This commit is contained in:
@@ -140,8 +140,9 @@ void math_NewtonMinimum::Perform(math_MultipleVarFunctionWithHessian& F,
|
||||
}
|
||||
}
|
||||
else {
|
||||
TheStatus = math_FunctionError;
|
||||
return;
|
||||
Done = Standard_False;
|
||||
TheStatus = math_FunctionError;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -98,6 +98,11 @@ public:
|
||||
//! calculation of the minimum.
|
||||
//! The exception NotDone is raised if an error has occured.
|
||||
Standard_Integer NbIterations() const;
|
||||
|
||||
//! Returns the Status of computation.
|
||||
//! The exception NotDone is raised if an error has occured.
|
||||
math_Status GetStatus() const;
|
||||
|
||||
|
||||
//! Prints on the stream o information on the current state
|
||||
//! of the object.
|
||||
|
@@ -63,3 +63,7 @@ inline Standard_Integer math_NewtonMinimum::NbIterations() const
|
||||
return nbiter;
|
||||
}
|
||||
|
||||
inline math_Status math_NewtonMinimum::GetStatus() const
|
||||
{
|
||||
return TheStatus;
|
||||
}
|
||||
|
Reference in New Issue
Block a user