1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-04 18:06:22 +03:00

0024684: Command fixshape hangs up on the attached shape

Algorithm of seeking of any internal point into given face is corrected.
Test case for issue CR24684
This commit is contained in:
nbv 2014-03-27 16:56:42 +04:00 committed by bugmaster
parent 07b5cb8f23
commit b9cd9e62c3
2 changed files with 36 additions and 2 deletions

View File

@ -174,7 +174,7 @@ Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace
}
}
if (APointExist)
while (APointExist)
{
ParamInit *= 0.41234;
u_ = P.X() + ParamInit* T.X();
@ -190,7 +190,12 @@ Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace
BRepAdaptor_Surface s;
s.Initialize (face, Standard_False);
s.D1 (u_, v_, APoint_, theVecD1U, theVecD1V);
return Standard_True;
if(theVecD1U.CrossMagnitude(theVecD1V) > gp::Resolution())
return Standard_True;
if(ParamInit < Precision::PConfusion())
return Standard_False;
}
}
return Standard_False;

View File

@ -0,0 +1,29 @@
puts "============"
puts "OCC24684"
puts "============"
puts ""
############################################################################
# Command fixshape hangs up on the attached shape
############################################################################
pload XSDRAW
restore [locate_data_file bug24684_r.brep] a
cpulimit 60
fixshape result a
set square 337959
set nb_v_good 300
set nb_e_good 443
set nb_w_good 171
set nb_f_good 149
set nb_sh_good 85
set nb_sol_good 15
set nb_compsol_good 0
set nb_compound_good 3
set nb_shape_good 1166
set 2dviewer 1