mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06: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:
parent
ceb31c6156
commit
cf2439de58
@ -1365,20 +1365,27 @@ Standard_Boolean IntTools_EdgeFace::CheckTouchVertex
|
||||
(const IntTools_CommonPrt& aCP,
|
||||
Standard_Real& aTx)
|
||||
{
|
||||
Standard_Real aTF, aTL, Tol, U1f,U1l,V1f,V1l, af, al,aDist2, aMinDist2, aTm, aDist2New;
|
||||
Standard_Real aEpsT;
|
||||
Standard_Real aTF, aTL, Tol, U1f,U1l,V1f,V1l;
|
||||
Standard_Real aEpsT, af, al,aDist2, aMinDist2, aTm, aDist2New;
|
||||
Standard_Boolean theflag=Standard_False;
|
||||
Standard_Integer aNbExt, i, iLower ;
|
||||
|
||||
GeomAbs_CurveType aType;
|
||||
//
|
||||
aCP.Range1(aTF, aTL);
|
||||
aType=myC.GetType();
|
||||
//
|
||||
aEpsT=8.e-5;
|
||||
if (aType==GeomAbs_Line) {
|
||||
aEpsT=9.e-5;
|
||||
}
|
||||
//
|
||||
aTm=0.5*(aTF+aTL);
|
||||
aDist2=DistanceFunction(aTm);
|
||||
aDist2 *= aDist2;
|
||||
|
||||
Tol = Precision::PConfusion();
|
||||
|
||||
const Handle(Geom_Curve)& Curve =BRep_Tool::Curve (myC.Edge(), af, al);
|
||||
const Handle(Geom_Curve)& Curve =BRep_Tool::Curve (myC.Edge(), af, al);
|
||||
const Handle(Geom_Surface)& Surface=BRep_Tool::Surface(myS.Face());
|
||||
|
||||
Surface->Bounds(U1f,U1l,V1f,V1l);
|
||||
|
31
tests/bugs/modalg_5/bug25449
Executable file
31
tests/bugs/modalg_5/bug25449
Executable 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
|
Loading…
x
Reference in New Issue
Block a user