return;
}
//
- Standard_Real anAngle, aDist, aParam[4];
+ Standard_Real anAngle, aDist, aParam[4], aDt;
Standard_Integer i;
gp_Pnt aTorLoc, aPCT, aPN, aPt[4];
gp_Dir aDir[4];
typeres = IntAna_Circle;
//
gp_XYZ aPh = aPCT.XYZ() - aDist*aConL.Normal(aPCT).Direction().XYZ();
- aDist = Sqrt(Abs(aRMin*aRMin - aDist*aDist));
+ aDt = Sqrt(Abs(aRMin*aRMin - aDist*aDist));
//
gp_Pnt aP;
- gp_XYZ aDVal = aDist*aDL.XYZ();
+ gp_XYZ aDVal = aDt*aDL.XYZ();
aP.SetXYZ(aPh + aDVal);
aParam[nbint] = aLin.Distance(aP);
aPt[nbint].SetXYZ(aP.XYZ() - aParam[nbint]*aXDir.XYZ());
aDir[nbint] = aTorAx.Direction();
++nbint;
- if ((aDist < aRMin) && (aDVal.Modulus() > Tol)) {
+ if ((aDist < aRMin) && (aDt > Tol)) {
aP.SetXYZ(aPh - aDVal);
aParam[nbint] = aLin.Distance(aP);
aPt[nbint].SetXYZ(aP.XYZ() - aParam[nbint]*aXDir.XYZ());
--- /dev/null
+puts "============"
+puts "OCC24844"
+puts "============"
+puts ""
+######################################################
+# Wrong result of Boolean Cut operation
+######################################################
+
+restore [locate_data_file bug24844_Comp.brep] c
+explode c
+
+bcut result c_1 c_2
+
+set square 9.82018
+
+set nb_v_good 5
+set nb_e_good 11
+set nb_w_good 6
+set nb_f_good 6
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 31
+
+set 2dviewer 1