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

0025449: Excess vertex in result of General Fuse operation.

Changes:
1. class IntTools_EdgeFace
     method:
     Standard_Boolean IntTools_EdgeFace::CheckTouchVertex
     (const IntTools_CommonPrt& aCP,
     Standard_Real& aTx)

The parametric size of the contact zone between vertex and face has been changed

Test cases for issue CR25449
This commit is contained in:
pkv 2014-11-21 13:50:44 +03:00 committed by bugmaster
parent ceb31c6156
commit cf2439de58
2 changed files with 42 additions and 4 deletions

View File

@ -1365,13 +1365,20 @@ Standard_Boolean IntTools_EdgeFace::CheckTouchVertex
(const IntTools_CommonPrt& aCP, (const IntTools_CommonPrt& aCP,
Standard_Real& aTx) Standard_Real& aTx)
{ {
Standard_Real aTF, aTL, Tol, U1f,U1l,V1f,V1l, af, al,aDist2, aMinDist2, aTm, aDist2New; Standard_Real aTF, aTL, Tol, U1f,U1l,V1f,V1l;
Standard_Real aEpsT; Standard_Real aEpsT, af, al,aDist2, aMinDist2, aTm, aDist2New;
Standard_Boolean theflag=Standard_False; Standard_Boolean theflag=Standard_False;
Standard_Integer aNbExt, i, iLower ; Standard_Integer aNbExt, i, iLower ;
GeomAbs_CurveType aType;
//
aCP.Range1(aTF, aTL); aCP.Range1(aTF, aTL);
aType=myC.GetType();
//
aEpsT=8.e-5; aEpsT=8.e-5;
if (aType==GeomAbs_Line) {
aEpsT=9.e-5;
}
//
aTm=0.5*(aTF+aTL); aTm=0.5*(aTF+aTL);
aDist2=DistanceFunction(aTm); aDist2=DistanceFunction(aTm);
aDist2 *= aDist2; aDist2 *= aDist2;

31
tests/bugs/modalg_5/bug25449 Executable file
View File

@ -0,0 +1,31 @@
puts "================"
puts "OCC25449"
puts "================"
puts ""
#######################################################################
# Excess vertex in result of General Fuse operation.
#######################################################################
restore [locate_data_file bug25449_fz351.brep] b1
restore [locate_data_file bug25449_ez679.brep] b2
bclearobjects
bcleartools
baddobjects b1 b2
bfillds -t
bbuild result
set square 21.1115
set nb_v_good 4
set nb_e_good 4
set nb_w_good 1
set nb_f_good 1
set nb_sh_good 0
set nb_sol_good 0
set nb_compsol_good 0
set nb_compound_good 1
set nb_shape_good 11
set 3dviewer 1