1
0
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:
nbv
2016-03-29 16:29:55 +03:00
committed by bugmaster
parent cb120537bf
commit 243505b81b
8 changed files with 109 additions and 52 deletions

View File

@@ -140,8 +140,9 @@ void math_NewtonMinimum::Perform(math_MultipleVarFunctionWithHessian& F,
}
}
else {
TheStatus = math_FunctionError;
return;
Done = Standard_False;
TheStatus = math_FunctionError;
return;
}
}

View File

@@ -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.

View File

@@ -63,3 +63,7 @@ inline Standard_Integer math_NewtonMinimum::NbIterations() const
return nbiter;
}
inline math_Status math_NewtonMinimum::GetStatus() const
{
return TheStatus;
}