0024144: BRepPrimAPI_MakeWedge wrong
authoraml <aml@opencascade.com>
Thu, 17 Oct 2013 08:36:38 +0000 (12:36 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 17 Oct 2013 08:38:07 +0000 (12:38 +0400)
fixed direction computing in gp_Lin Primitives_Wedge::Line.
Test cases for issue CR24144

src/Primitives/Primitives_Wedge.gxx
tests/bugs/modalg_5/bug24144_1 [new file with mode: 0644]
tests/bugs/modalg_5/bug24144_2 [new file with mode: 0644]

index bb67ed2..e656855 100755 (executable)
@@ -758,7 +758,7 @@ gp_Lin Primitives_Wedge::Line
     Y = YMin;
     Z = ZMin;
     if ( (XMin != X2Min) || (ZMin != Z2Min) ) 
-      D = gp_Vec(gp_Pnt(XMin,YMin,ZMin),gp_Pnt(X2Min,YMax,Z2Min));
+      D = gp_Vec( (X2Min-XMin)*VX + (YMax-YMin)*VY + (Z2Min-ZMin)*VZ);
     break;
     
   case 9 :
diff --git a/tests/bugs/modalg_5/bug24144_1 b/tests/bugs/modalg_5/bug24144_1
new file mode 100644 (file)
index 0000000..ec7325a
--- /dev/null
@@ -0,0 +1,49 @@
+puts "========="
+puts "OCC24144"
+puts "========="
+puts ""
+###########################################################
+# BRepPrimAPI_MakeWedge wrong
+###########################################################
+
+set Ox 0
+set Oy 0
+set Oz 0
+
+set Zx 0
+set Zy 0
+set Zz 1
+
+set Xx 0
+set Xy 1
+set Xz 0
+
+set dx 200.0
+set dy 620.0
+set dz 2150.0
+
+set xmin 0
+set xmax 200
+
+set zmin 1075
+set zmax 1075
+
+wedge result ${Ox} ${Oy} ${Oz} ${Zx} ${Zy} ${Zz} ${Xx} ${Xy} ${Xz} \
+      ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax}
+#wedge result \
+#      ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax}
+
+set square 2.25939e+06
+
+# Analysis of "nbshapes result"
+set nb_v_good 6
+set nb_e_good 9
+set nb_w_good 5
+set nb_f_good 5
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 0
+set nb_shape_good 27
+
+set 2dviewer 1
diff --git a/tests/bugs/modalg_5/bug24144_2 b/tests/bugs/modalg_5/bug24144_2
new file mode 100644 (file)
index 0000000..e5dcd67
--- /dev/null
@@ -0,0 +1,49 @@
+puts "========="
+puts "OCC24144"
+puts "========="
+puts ""
+###########################################################
+# BRepPrimAPI_MakeWedge wrong
+###########################################################
+
+set Ox 0
+set Oy 0
+set Oz 0
+
+set Zx 0
+set Zy 0
+set Zz 1
+
+set Xx 0
+set Xy 1
+set Xz 0
+
+set dx 200.0
+set dy 620.0
+set dz 2150.0
+
+set xmin 0
+set xmax 200
+
+set zmin 1075
+set zmax 1075
+
+#wedge result ${Ox} ${Oy} ${Oz} ${Zx} ${Zy} ${Zz} ${Xx} ${Xy} ${Xz} \
+#      ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax}
+wedge result \
+      ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax}
+
+set square 2.25939e+06
+
+# Analysis of "nbshapes result"
+set nb_v_good 6
+set nb_e_good 9
+set nb_w_good 5
+set nb_f_good 5
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 0
+set nb_shape_good 27
+
+set 2dviewer 1