mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-07 18:30:55 +03:00
0030090: Modeling Algorithms - BRepLib::FindValidRange does not find valid range for the edge
BRepLib::FindValidRange - check each sampling point to be out of tolerance sphere of the vertex. Test case for the issue.
This commit is contained in:
parent
56062e13f2
commit
0e48692e82
@ -101,7 +101,8 @@ static Standard_Boolean findNearestValidPoint(
|
|||||||
// cycle to go out of local singularity
|
// cycle to go out of local singularity
|
||||||
gp_Vec aD1;
|
gp_Vec aD1;
|
||||||
theCurve.D1(anUOut, aP, aD1);
|
theCurve.D1(anUOut, aP, aD1);
|
||||||
if (aD1.SquareMagnitude() < aD1Mag)
|
isOut = (aP.SquareDistance(theVertPnt) > aSqTol);
|
||||||
|
if (!isOut && aD1.SquareMagnitude() < aD1Mag)
|
||||||
{
|
{
|
||||||
aStepLocal *= 2.;
|
aStepLocal *= 2.;
|
||||||
anUOut += aStepLocal;
|
anUOut += aStepLocal;
|
||||||
|
12
tests/bugs/modalg_7/bug30090
Normal file
12
tests/bugs/modalg_7/bug30090
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
puts "========"
|
||||||
|
puts "OCC30090: Modeling Algorithms - BRepLib::FindValidRange does not find valid range for the edge"
|
||||||
|
puts "========"
|
||||||
|
puts ""
|
||||||
|
|
||||||
|
restore [locate_data_file bug30090_edge.brep] e
|
||||||
|
if {[regexp {([-0-9.+eE]+) ([-0-9.+eE]+)} [validrange e] full first last]} {
|
||||||
|
checkreal First $first 0.043210875526017684 1.e-7 0
|
||||||
|
checkreal Last $last 0.98374162670821774 1.e-7 0
|
||||||
|
} else {
|
||||||
|
puts "Error: valid range is not found"
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user