Detected bugs have been fixed.
Test case for issue CR26243
//
gp_Pnt aTorLoc = aTorAx.Location();
if (bParallel) {
- Standard_Real aDt, X, Y, Z, A, B, C, D;
+ Standard_Real aDt, X, Y, Z, A, B, C, D, aDR, aTolNum;
+ //
+ aTolNum=myEPSILON_CYLINDER_DELTA_RADIUS;
//
Pln.Coefficients(A,B,C,D);
aTorLoc.Coord(X,Y,Z);
aDist = A*X + B*Y + C*Z + D;
//
- if ((Abs(aDist) - aRMin) > Tol) {
+ aDR=Abs(aDist) - aRMin;
+ if (aDR > aTolNum) {
typeres=IntAna_Empty;
return;
}
//
+ if (Abs(aDR) < aTolNum) {
+ aDist=aRMin;
+ }
+ //
typeres = IntAna_Circle;
//
pt1.SetCoord(X - aDist*A, Y - aDist*B, Z - aDist*C);
param1 = aRMaj + aDt;
dir1 = aTorAx.Direction();
nbint = 1;
- if ((Abs(aDist) < aRMin) && (aDt > Tol)) {
+ if ((aDR < -aTolNum) && (aDt > Tol)) {
pt2 = pt1;
param2 = aRMaj - aDt;
dir2 = dir1;
--- /dev/null
+puts "============"
+puts "OCC26243"
+puts "============"
+puts ""
+######################################################
+# Boolean operations failed on shapes with fillets
+######################################################
+
+restore [locate_data_file bug26243_anc101.brep] _model
+
+tcopy _model _copy
+trotate _copy 155. 100.75 0 0 0 1 90
+
+bcommon result _model _copy
+
+set square 272911
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 151
+ EDGE : 233
+ WIRE : 106
+ FACE : 94
+ SHELL : 1
+ SOLID : 1
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 587
+"
+checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations on shapes with fillets"
+
+set 3dviewer 1
--- /dev/null
+puts "============"
+puts "OCC26243"
+puts "============"
+puts ""
+######################################################
+# Boolean operations failed on shapes with fillets
+######################################################
+
+restore [locate_data_file bug26243_anc101.brep] _model
+
+tcopy _model _copy
+trotate _copy 155. 100.75 0 0 0 1 90
+
+bcut result _model _copy
+
+set square 278545
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 146
+ EDGE : 226
+ WIRE : 111
+ FACE : 97
+ SHELL : 7
+ SOLID : 7
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 595
+"
+checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations on shapes with fillets"
+
+set 3dviewer 1
--- /dev/null
+puts "============"
+puts "OCC26243"
+puts "============"
+puts ""
+######################################################
+# Boolean operations failed on shapes with fillets
+######################################################
+
+restore [locate_data_file bug26243_anc101.brep] _model
+
+tcopy _model _copy
+trotate _copy 155. 100.75 0 0 0 1 90
+
+bfuse result _model _copy
+
+set square 606195
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 309
+ EDGE : 499
+ WIRE : 248
+ FACE : 209
+ SHELL : 1
+ SOLID : 1
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 1268
+"
+checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations on shapes with fillets"
+
+set 3dviewer 1