class BOPTools_AlgoTools
method
Standard_Boolean BOPTools_AlgoTools::IsSplitToReverse
(const TopoDS_Face& theFSp,
const TopoDS_Face& theFSr,
Handle(IntTools_Context)& theContext)
Reverse normal direction for REVERSED faces.
Test case for issue CR25127
if (!bFlag) {
return bRet;
}
+ //
+ if (theFSp.Orientation()==TopAbs_REVERSED){
+ aDNFSp.Reverse();
+ }
}
else {
BRep_Tool::Range(aESp, aT1, aT2);
--- /dev/null
+puts "================"
+puts "OCC25127"
+puts "================"
+puts ""
+#######################################################################
+# Wrong result done by General Fuse algorithm
+#######################################################################
+
+restore [locate_data_file bug25127_b1.brep] b1
+restore [locate_data_file bug25127_b2.brep] b2
+
+bclearobjects
+bcleartools
+baddobjects b1
+baddtools b2
+bfillds
+bbuild result
+
+regexp {Mass +: +([-0-9.+eE]+)} [vprops result] full volume
+
+set expected_volume 620.091
+set tol_abs_volume 1.0e-3
+set tol_rel_volume 0.001
+checkreal "Volume" ${volume} ${expected_volume} ${tol_abs_volume} ${tol_rel_volume}
+
+set square 842.655
+
+set nb_v_good 4
+set nb_e_good 6
+set nb_w_good 2
+set nb_f_good 2
+set nb_sh_good 3
+set nb_sol_good 2
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 20
+
+set 3dviewer 1