Small correction.
Adding test cases for issue CR24105
}
if ( theAdvFixWire->Perform() ) {
//fixed = Standard_True;
- isfixReorder = ((theAdvFixWire->StatusReorder(ShapeExtend_DONE) && !theAdvFixWire->StatusReorder(ShapeExtend_DONE5)) || isfixReorder);
+ isfixReorder = (theAdvFixWire->StatusReorder(ShapeExtend_DONE) || isfixReorder);
fixed = (theAdvFixWire->StatusSmall(ShapeExtend_DONE) ||
theAdvFixWire->StatusConnected(ShapeExtend_DONE) ||
theAdvFixWire->StatusEdgeCurves(ShapeExtend_DONE) ||
}
if(fixed || isfixReorder) {
myFace = tmpFace;
- myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE1 );
+ if (!theAdvFixWire->StatusReorder(ShapeExtend_DONE5)) {
+ myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE1 );
+ }
}
}
--- /dev/null
+puts "================"
+puts "OCC24105"
+puts "================"
+puts ""
+######################################################################################
+# ShapeFix algorithm produces not correct result
+# 1. geom/imps7/H6
+######################################################################################
+
+catch {pload XDE}
+
+restore [locate_data_file bug24105_shape.brep] s
+
+settolerance s 1.e-7
+
+fixshape result s
+
+set square 313292
+
+set nb_v_good 12
+set nb_e_good 20
+set nb_w_good 9
+set nb_f_good 9
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 0
+set nb_shape_good 52
+
+set 2dviewer 1
--- /dev/null
+puts "================"
+puts "OCC24105"
+puts "================"
+puts ""
+######################################################################################
+# ShapeFix algorithm produces not correct result
+# 2. geom/SWIG_scripts/C9
+######################################################################################
+
+catch {pload XDE}
+
+restore [locate_data_file bug24105_shape1.brep] s
+
+settolerance s 1.e-7
+
+fixshape result s
+
+set square 123446
+
+set nb_v_good 33
+set nb_e_good 52
+set nb_w_good 23
+set nb_f_good 21
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 132
+
+set 2dviewer 1
--- /dev/null
+puts "================"
+puts "OCC24111"
+puts "================"
+puts ""
+######################################################################################
+# Shape Healing produces invalid face
+######################################################################################
+
+catch {pload XDE}
+
+restore [locate_data_file bug24111_shape.brep] a
+
+fixshape result a
+
+set square 15902.8
+
+set nb_v_good 14
+set nb_e_good 15
+set nb_w_good 1
+set nb_f_good 1
+set nb_sh_good 0
+set nb_sol_good 0
+set nb_compsol_good 0
+set nb_compound_good 0
+set nb_shape_good 31
+
+set 2dviewer 1