diff --git a/src/IntTools/IntTools_FaceFace.cxx b/src/IntTools/IntTools_FaceFace.cxx index 0b5694eaa5..ad4a92270a 100644 --- a/src/IntTools/IntTools_FaceFace.cxx +++ b/src/IntTools/IntTools_FaceFace.cxx @@ -519,8 +519,8 @@ static Standard_Boolean isTreatAnalityc(const TopoDS_Face& theF1, //function : Perform //purpose : intersect surfaces of the faces //======================================================================= - void IntTools_FaceFace::Perform(const TopoDS_Face& aF1, - const TopoDS_Face& aF2) +void IntTools_FaceFace::Perform(const TopoDS_Face& aF1, + const TopoDS_Face& aF2) { Standard_Boolean RestrictLine = Standard_False, hasCone = Standard_False; @@ -2616,12 +2616,12 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine //function : CorrectSurfaceBoundaries //purpose : //======================================================================= - void CorrectSurfaceBoundaries(const TopoDS_Face& theFace, - const Standard_Real theTolerance, - Standard_Real& theumin, - Standard_Real& theumax, - Standard_Real& thevmin, - Standard_Real& thevmax) +void CorrectSurfaceBoundaries(const TopoDS_Face& theFace, + const Standard_Real theTolerance, + Standard_Real& theumin, + Standard_Real& theumax, + Standard_Real& thevmin, + Standard_Real& thevmax) { Standard_Boolean enlarge, isuperiodic, isvperiodic; Standard_Real uinf, usup, vinf, vsup, delta; @@ -2662,7 +2662,8 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine if((aType==GeomAbs_BezierSurface) || (aType==GeomAbs_BSplineSurface) || (aType==GeomAbs_SurfaceOfExtrusion) || - (aType==GeomAbs_SurfaceOfRevolution)) { + (aType==GeomAbs_SurfaceOfRevolution) || + (aType==GeomAbs_Cylinder)) { enlarge=Standard_True; } // diff --git a/tests/bugs/modalg_5/bug24851 b/tests/bugs/modalg_5/bug24851 new file mode 100644 index 0000000000..51ea4efefc --- /dev/null +++ b/tests/bugs/modalg_5/bug24851 @@ -0,0 +1,27 @@ +puts "============" +puts "OCC24851" +puts "============" +puts "" +###################################################### +# Extra vertex is in the result of Boolean Fuse Operation +###################################################### + +restore [locate_data_file bug24851_q_b1_1.brep] b1 +restore [locate_data_file bug24851_fz712.brep] b2 + +bop b1 b2 +bopfuse result + +set square 9.56837e-05 + +set nb_v_good 6 +set nb_e_good 8 +set nb_w_good 2 +set nb_f_good 2 +set nb_sh_good 2 +set nb_sol_good 0 +set nb_compsol_good 0 +set nb_compound_good 1 +set nb_shape_good 21 + +set 2dviewer 1