Changes:
class IntTools_FClass2d
- method:
TopAbs_State IntTools_FClass2d::Perform
(const gp_Pnt2d& _Puv,
const Standard_Boolean RecadreOnPeriodic) const
has been changed.
The value of tolerance
For the value of tolerance for classification,
the minimum (among UResolution, VResolution) value is used.
Test case for issue CR26080
bUIn = (u >= Umin) && (u <= Umax);
bVIn = (v >= Vmin) && (v <= Vmax);
//
- aFCTol = (bUIn==bVIn) ? Max(aURes, aVRes) :
- (!bUIn ? aURes : aVRes);
+ if (bUIn==bVIn) {
+ aFCTol = Min(aURes, aVRes);
+ }
+ else {
+ aFCTol = (!bUIn) ? aURes : aVRes;
+ }
//
BRepClass_FaceClassifier aClassifier;
aClassifier.Perform(Face,Puv,aFCTol);
# Original bug : pro10658
# Date : 24mar98
+puts "TODO #26080 ALL: Faulty shapes in variables faulty_1"
puts "TODO ALL Error : The area of the resulting shape is"
restore [locate_data_file CTO900_pro10658a.rle] a
restore [locate_data_file pro10658b.rle] b
# pro10658
+puts "TODO #26080 ALL: Faulty shapes in variables faulty_1"
puts "TODO ALL Error : The area of the resulting shape is"
restore [locate_data_file CTO900_pro10658a.rle] a
restore [locate_data_file pro10658b.rle] b
--- /dev/null
+puts "============"
+puts "OCC26080"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by General Fuse operator.
+###############################
+
+restore [locate_data_file bug26080_qef001.brep] q
+
+explode q
+copy q_1 b1
+copy q_2 b2
+
+bclearobjects
+bcleartools
+baddobjects b1 b2
+
+bfillds
+bbuild result
+
+set square 1.36058e+06
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 7
+ EDGE : 6
+ WIRE : 1
+ FACE : 1
+ SHELL : 0
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 16
+"
+checknbshapes result ${nbshapes_expected} 1 "Result obtained by General Fuse operator"
+
+set 3dviewer 1