From f1aa2b6272c923e3b0e22e811e64d7d568749843 Mon Sep 17 00:00:00 2001 From: apn Date: Fri, 14 Dec 2012 16:56:11 +0400 Subject: [PATCH] Adding new testing cases for chl grid Adding procedures checkcolor and checkpoint. Modified test cases which are used QAGetPixelColor or QAAISGetPixelColor2d Allow using command QAAISGetPixelColor2d on WNT Rename test case tests/bugs/vis/bug19619 to pro19619 Added test cases to modalg and moddata --- src/QADraw/QADraw.cxx | 8 +- tests/bugs/begin | 137 ++++++++++++++++++++++++++ tests/bugs/demo/bug23410 | 45 ++------- tests/bugs/modalg/buc60663_2 | 2 +- tests/bugs/modalg/buc60690 | 4 +- tests/bugs/modalg/buc60827 | 4 +- tests/bugs/modalg/bug1013 | 13 +++ tests/bugs/modalg/bug144 | 2 +- tests/bugs/modalg/bug238_1 | 2 +- tests/bugs/modalg/bug238_2 | 2 +- tests/bugs/modalg/bug322 | 15 ++- tests/bugs/modalg/bug397 | 26 +---- tests/bugs/modalg/bug398 | 37 +++++++ tests/bugs/modalg/bug418_1 | 22 +++++ tests/bugs/modalg/bug418_2 | 22 +++++ tests/bugs/modalg/bug419 | 22 +++++ tests/bugs/modalg/bug420 | 25 +++++ tests/bugs/modalg/bug421 | 18 ++++ tests/bugs/modalg/bug422_1 | 19 ++++ tests/bugs/modalg/bug422_2 | 19 ++++ tests/bugs/modalg/bug423_1 | 27 +++++ tests/bugs/modalg/bug423_2 | 23 +++++ tests/bugs/modalg/bug424_1 | 21 ++++ tests/bugs/modalg/bug424_2 | 21 ++++ tests/bugs/modalg/bug427_1 | 26 +++++ tests/bugs/modalg/bug427_2 | 26 +++++ tests/bugs/modalg/bug427_3 | 26 +++++ tests/bugs/modalg/bug427_4 | 30 ++++++ tests/bugs/modalg/bug427_5 | 30 ++++++ tests/bugs/modalg/bug427_6 | 30 ++++++ tests/bugs/modalg/bug516 | 23 +++++ tests/bugs/modalg/bug539_1 | 21 ++++ tests/bugs/modalg/bug539_2 | 23 +++++ tests/bugs/modalg/bug571_1 | 22 +++++ tests/bugs/modalg/bug571_2 | 22 +++++ tests/bugs/modalg/bug594 | 26 +++++ tests/bugs/modalg/bug600 | 19 ++++ tests/bugs/modalg/bug602 | 24 +++++ tests/bugs/modalg/bug605 | 37 +++++++ tests/bugs/modalg/bug615 | 22 +++++ tests/bugs/modalg/bug616 | 22 +++++ tests/bugs/modalg/bug620_1 | 24 +++++ tests/bugs/modalg/bug620_2 | 24 +++++ tests/bugs/modalg/bug625 | 35 +++++++ tests/bugs/modalg/bug629 | 25 +++++ tests/bugs/modalg/bug636 | 31 ++++++ tests/bugs/modalg/bug637_1 | 29 ++++++ tests/bugs/modalg/bug637_2 | 30 ++++++ tests/bugs/modalg/bug673 | 25 +++++ tests/bugs/modalg/bug693 | 79 +++++++++++++++ tests/bugs/modalg/bug697_1 | 25 +++++ tests/bugs/modalg/bug697_2 | 29 ++++++ tests/bugs/modalg/bug698 | 16 +++ tests/bugs/modalg/bug702 | 25 +++++ tests/bugs/modalg/bug712_1 | 23 +++++ tests/bugs/modalg/bug714 | 34 +++++++ tests/bugs/modalg/bug715 | 28 ++++++ tests/bugs/modalg/bug726_1 | 21 ++++ tests/bugs/modalg/bug726_2 | 21 ++++ tests/bugs/modalg/bug743 | 42 ++++++++ tests/bugs/modalg/bug745_1 | 44 +++++++++ tests/bugs/modalg/bug745_10 | 27 +++++ tests/bugs/modalg/bug745_11 | 52 ++++++++++ tests/bugs/modalg/bug745_12 | 47 +++++++++ tests/bugs/modalg/bug745_2 | 26 +++++ tests/bugs/modalg/bug745_4 | 49 +++++++++ tests/bugs/modalg/bug745_6 | 46 +++++++++ tests/bugs/modalg/bug745_7 | 45 +++++++++ tests/bugs/modalg/bug745_8 | 43 ++++++++ tests/bugs/modalg/bug745_9 | 45 +++++++++ tests/bugs/modalg/bug748 | 18 ++++ tests/bugs/modalg/bug755_1 | 34 +++++++ tests/bugs/modalg/bug758 | 26 +++++ tests/bugs/modalg/bug763 | 20 ++++ tests/bugs/modalg/bug767 | 15 +++ tests/bugs/modalg/bug770 | 26 +++++ tests/bugs/modalg/bug771 | 25 +++++ tests/bugs/modalg/bug772 | 21 ++++ tests/bugs/modalg/bug774_1 | 22 +++++ tests/bugs/modalg/bug774_2 | 22 +++++ tests/bugs/modalg/bug775 | 19 ++++ tests/bugs/modalg/bug776_1 | 20 ++++ tests/bugs/modalg/bug776_2 | 20 ++++ tests/bugs/modalg/bug778_1 | 20 ++++ tests/bugs/modalg/bug778_2 | 20 ++++ tests/bugs/modalg/bug779 | 22 +++++ tests/bugs/modalg/bug780_1 | 20 ++++ tests/bugs/modalg/bug780_2 | 20 ++++ tests/bugs/modalg/bug788_1 | 20 ++++ tests/bugs/modalg/bug788_2 | 24 +++++ tests/bugs/modalg/bug789 | 25 +++++ tests/bugs/modalg/bug794 | 28 ++++++ tests/bugs/modalg/bug822_1 | 25 +++++ tests/bugs/modalg/bug822_2 | 25 +++++ tests/bugs/modalg/bug823 | 26 +++++ tests/bugs/modalg/bug823_1 | 30 ++++++ tests/bugs/modalg/bug824 | 25 +++++ tests/bugs/modalg/bug824_1 | 30 ++++++ tests/bugs/modalg/bug825 | 37 +++++++ tests/bugs/modalg/bug825_1 | 31 ++++++ tests/bugs/modalg/bug825_2 | 32 ++++++ tests/bugs/modalg/bug826 | 24 +++++ tests/bugs/modalg/bug826_1 | 29 ++++++ tests/bugs/modalg/bug827 | 45 +++++++++ tests/bugs/modalg/bug827_1 | 50 ++++++++++ tests/bugs/modalg/bug827_2 | 47 +++++++++ tests/bugs/modalg/bug828 | 28 ++++++ tests/bugs/modalg/bug829_1 | 49 +++++++++ tests/bugs/modalg/bug829_2 | 43 ++++++++ tests/bugs/modalg/bug890 | 22 +++++ tests/bugs/modalg/bug895 | 58 +++++++++++ tests/bugs/modalg/bug910 | 50 ++++++++++ tests/bugs/modalg/bug919 | 33 +++++++ tests/bugs/modalg/bug957 | 15 +++ tests/bugs/modalg/dxf906 | 19 ++++ tests/bugs/modalg/pro18892 | 2 +- tests/bugs/moddata/bug566 | 43 ++++++++ tests/bugs/moddata/bug592 | 43 ++++++++ tests/bugs/moddata/bug618 | 21 ++++ tests/bugs/moddata/bug705 | 31 ++++++ tests/bugs/moddata/bug712_2 | 22 +++++ tests/bugs/vis/bug112 | 27 +---- tests/bugs/vis/bug112_1 | 2 +- tests/bugs/vis/bug128 | 26 +---- tests/bugs/vis/bug136 | 20 +--- tests/bugs/vis/bug138_1 | 1 - tests/bugs/vis/bug146 | 31 ++---- tests/bugs/vis/bug153 | 6 +- tests/bugs/vis/bug154_1 | 22 ++--- tests/bugs/vis/bug154_2 | 13 +-- tests/bugs/vis/bug155_1 | 13 +-- tests/bugs/vis/bug155_2 | 12 +-- tests/bugs/vis/bug155_3 | 13 +-- tests/bugs/vis/bug173_1 | 36 ++----- tests/bugs/vis/bug185 | 35 ++----- tests/bugs/vis/bug193 | 33 ++----- tests/bugs/vis/bug194_1 | 30 +----- tests/bugs/vis/bug194_2 | 34 ++----- tests/bugs/vis/bug195 | 12 +-- tests/bugs/vis/bug196 | 23 ++--- tests/bugs/vis/bug197_1 | 51 +++------- tests/bugs/vis/bug197_2 | 53 +++------- tests/bugs/vis/bug204_1 | 20 +--- tests/bugs/vis/bug204_2 | 20 ++-- tests/bugs/vis/bug215 | 8 +- tests/bugs/vis/bug218 | 44 ++------- tests/bugs/vis/bug224 | 24 ++--- tests/bugs/vis/bug225 | 14 +-- tests/bugs/vis/bug23120 | 44 +-------- tests/bugs/vis/bug23407_1 | 49 +++------ tests/bugs/vis/bug23407_2 | 53 ++++------ tests/bugs/vis/bug23425 | 0 tests/bugs/vis/bug280_2 | 22 ++--- tests/bugs/vis/bug280_3 | 33 +------ tests/bugs/vis/bug288_1 | 1 - tests/bugs/vis/bug288_2 | 1 - tests/bugs/vis/bug344 | 3 +- tests/bugs/vis/bug64 | 25 +---- tests/bugs/vis/bug85_1 | 31 +----- tests/bugs/vis/bug85_2 | 32 +----- tests/bugs/vis/{bug19619 => pro19619} | 0 tests/bugs/xde/bug23193 | 16 +-- 162 files changed, 3539 insertions(+), 771 deletions(-) mode change 100644 => 100755 tests/bugs/demo/bug23410 create mode 100755 tests/bugs/modalg/bug1013 create mode 100755 tests/bugs/modalg/bug398 create mode 100755 tests/bugs/modalg/bug418_1 create mode 100755 tests/bugs/modalg/bug418_2 create mode 100755 tests/bugs/modalg/bug419 create mode 100755 tests/bugs/modalg/bug420 create mode 100755 tests/bugs/modalg/bug421 create mode 100755 tests/bugs/modalg/bug422_1 create mode 100755 tests/bugs/modalg/bug422_2 create mode 100755 tests/bugs/modalg/bug423_1 create mode 100755 tests/bugs/modalg/bug423_2 create mode 100755 tests/bugs/modalg/bug424_1 create mode 100755 tests/bugs/modalg/bug424_2 create mode 100755 tests/bugs/modalg/bug427_1 create mode 100755 tests/bugs/modalg/bug427_2 create mode 100755 tests/bugs/modalg/bug427_3 create mode 100755 tests/bugs/modalg/bug427_4 create mode 100755 tests/bugs/modalg/bug427_5 create mode 100755 tests/bugs/modalg/bug427_6 create mode 100755 tests/bugs/modalg/bug516 create mode 100755 tests/bugs/modalg/bug539_1 create mode 100755 tests/bugs/modalg/bug539_2 create mode 100755 tests/bugs/modalg/bug571_1 create mode 100755 tests/bugs/modalg/bug571_2 create mode 100755 tests/bugs/modalg/bug594 create mode 100755 tests/bugs/modalg/bug600 create mode 100755 tests/bugs/modalg/bug602 create mode 100755 tests/bugs/modalg/bug605 create mode 100755 tests/bugs/modalg/bug615 create mode 100755 tests/bugs/modalg/bug616 create mode 100755 tests/bugs/modalg/bug620_1 create mode 100755 tests/bugs/modalg/bug620_2 create mode 100755 tests/bugs/modalg/bug625 create mode 100755 tests/bugs/modalg/bug629 create mode 100755 tests/bugs/modalg/bug636 create mode 100755 tests/bugs/modalg/bug637_1 create mode 100755 tests/bugs/modalg/bug637_2 create mode 100755 tests/bugs/modalg/bug673 create mode 100755 tests/bugs/modalg/bug693 create mode 100755 tests/bugs/modalg/bug697_1 create mode 100755 tests/bugs/modalg/bug697_2 create mode 100755 tests/bugs/modalg/bug698 create mode 100755 tests/bugs/modalg/bug702 create mode 100755 tests/bugs/modalg/bug712_1 create mode 100755 tests/bugs/modalg/bug714 create mode 100755 tests/bugs/modalg/bug715 create mode 100755 tests/bugs/modalg/bug726_1 create mode 100755 tests/bugs/modalg/bug726_2 create mode 100755 tests/bugs/modalg/bug743 create mode 100755 tests/bugs/modalg/bug745_1 create mode 100755 tests/bugs/modalg/bug745_10 create mode 100755 tests/bugs/modalg/bug745_11 create mode 100755 tests/bugs/modalg/bug745_12 create mode 100755 tests/bugs/modalg/bug745_2 create mode 100755 tests/bugs/modalg/bug745_4 create mode 100755 tests/bugs/modalg/bug745_6 create mode 100755 tests/bugs/modalg/bug745_7 create mode 100755 tests/bugs/modalg/bug745_8 create mode 100755 tests/bugs/modalg/bug745_9 create mode 100755 tests/bugs/modalg/bug748 create mode 100755 tests/bugs/modalg/bug755_1 create mode 100755 tests/bugs/modalg/bug758 create mode 100755 tests/bugs/modalg/bug763 create mode 100755 tests/bugs/modalg/bug767 create mode 100755 tests/bugs/modalg/bug770 create mode 100755 tests/bugs/modalg/bug771 create mode 100755 tests/bugs/modalg/bug772 create mode 100755 tests/bugs/modalg/bug774_1 create mode 100755 tests/bugs/modalg/bug774_2 create mode 100755 tests/bugs/modalg/bug775 create mode 100755 tests/bugs/modalg/bug776_1 create mode 100755 tests/bugs/modalg/bug776_2 create mode 100755 tests/bugs/modalg/bug778_1 create mode 100755 tests/bugs/modalg/bug778_2 create mode 100755 tests/bugs/modalg/bug779 create mode 100755 tests/bugs/modalg/bug780_1 create mode 100755 tests/bugs/modalg/bug780_2 create mode 100755 tests/bugs/modalg/bug788_1 create mode 100755 tests/bugs/modalg/bug788_2 create mode 100755 tests/bugs/modalg/bug789 create mode 100755 tests/bugs/modalg/bug794 create mode 100755 tests/bugs/modalg/bug822_1 create mode 100755 tests/bugs/modalg/bug822_2 create mode 100755 tests/bugs/modalg/bug823 create mode 100755 tests/bugs/modalg/bug823_1 create mode 100755 tests/bugs/modalg/bug824 create mode 100755 tests/bugs/modalg/bug824_1 create mode 100755 tests/bugs/modalg/bug825 create mode 100755 tests/bugs/modalg/bug825_1 create mode 100755 tests/bugs/modalg/bug825_2 create mode 100755 tests/bugs/modalg/bug826 create mode 100755 tests/bugs/modalg/bug826_1 create mode 100755 tests/bugs/modalg/bug827 create mode 100755 tests/bugs/modalg/bug827_1 create mode 100755 tests/bugs/modalg/bug827_2 create mode 100755 tests/bugs/modalg/bug828 create mode 100755 tests/bugs/modalg/bug829_1 create mode 100755 tests/bugs/modalg/bug829_2 create mode 100755 tests/bugs/modalg/bug890 create mode 100755 tests/bugs/modalg/bug895 create mode 100755 tests/bugs/modalg/bug910 create mode 100755 tests/bugs/modalg/bug919 create mode 100755 tests/bugs/modalg/bug957 create mode 100755 tests/bugs/modalg/dxf906 mode change 100644 => 100755 tests/bugs/modalg/pro18892 create mode 100755 tests/bugs/moddata/bug566 create mode 100755 tests/bugs/moddata/bug592 create mode 100755 tests/bugs/moddata/bug618 create mode 100755 tests/bugs/moddata/bug705 create mode 100755 tests/bugs/moddata/bug712_2 mode change 100644 => 100755 tests/bugs/vis/bug23407_1 mode change 100644 => 100755 tests/bugs/vis/bug23407_2 mode change 100644 => 100755 tests/bugs/vis/bug23425 rename tests/bugs/vis/{bug19619 => pro19619} (100%) diff --git a/src/QADraw/QADraw.cxx b/src/QADraw/QADraw.cxx index dd2f4c5068..9a8b6a27e6 100755 --- a/src/QADraw/QADraw.cxx +++ b/src/QADraw/QADraw.cxx @@ -851,7 +851,7 @@ static int V2dSetHighlightMode (Draw_Interpretor& di, Standard_Integer argc, con return 0; } -#ifndef WNT +//#ifndef WNT //============================================================================== //function : QAAISGetPixelColor2d //purpose : QAAISGetPixelColor2d coord_X coord_Y Red Green Blue @@ -935,7 +935,7 @@ static int QAAISGetPixelColor2d (Draw_Interpretor& di, Standard_Integer argc, co } return 0; } -#endif // !WNT +//#endif // !WNT //============================================================================== //function : QAMoveTo2d @@ -2240,11 +2240,11 @@ void QADraw::CommonCommands(Draw_Interpretor& theCommands) theCommands.Add("QAGetViewCharac", "QAGetViewCharac", __FILE__,QAAISGetViewCharac, group); theCommands.Add("QASetViewCharac", "QASetViewCharac scale center_X center_Y proj_X proj_Y proj_Z up_X up_Y up_Z at_X at_Y at_Z", __FILE__,QAAISSetViewCharac, group); theCommands.Add("QAGetColorCoord", "QAGetColorCoord [3d|2d]", __FILE__,QAAISGetColorCoord, group); -#ifndef WNT +//#ifndef WNT theCommands.Add("QAAISGetPixelColor2d", "QAAISGetPixelColor2d coord_X coord_Y [Red Green Blue] : Check a color of pixel", __FILE__, QAAISGetPixelColor2d, group); -#endif +//#endif theCommands.Add("v2dgetgrid", "v2dgetgrid coord_X coord_Y [grid_X grid_Y] : Get/print coordinates of a grid point near to (coord_X, coord_Y)", diff --git a/tests/bugs/begin b/tests/bugs/begin index aac6c0d3b4..c9605c565a 100755 --- a/tests/bugs/begin +++ b/tests/bugs/begin @@ -35,6 +35,143 @@ proc checkreal {name value expected tol_abs tol_rel} { return } + + +# Procedure to check color in the point near default coordinate + +proc checkpoint {coord_x coord_y rd_ch gr_ch bl_ch} { + set x_start [expr ${coord_x} - 2] + set y_start [expr ${coord_y} - 2] + set mistake 0 + set i 0 + while { $mistake != 1 && $i <= 5 } { + set j 0 + while { $mistake != 1 && $j <= 5 } { + set position_x [expr ${x_start} + $j] + set position_y [expr ${y_start} + $i] + puts $position_x + puts $position_y + global color2d + if { [info exists color2d] } { + set color [ QAAISGetPixelColor2d ${position_x} ${position_y} ] + } else { + set color [ QAGetPixelColor ${position_x} ${position_y} ] + } + regexp {RED +: +([-0-9.+eE]+)} $color full rd + regexp {GREEN +: +([-0-9.+eE]+)} $color full gr + regexp {BLUE +: +([-0-9.+eE]+)} $color full bl + set rd_int [expr int($rd * 1.e+05)] + set gr_int [expr int($gr * 1.e+05)] + set bl_int [expr int($bl * 1.e+05)] + + if { $rd_ch != 0 } { + set tol_rd [expr abs($rd_ch - $rd_int)/$rd_ch] + } else { + set tol_rd $rd_int + } + if { $gr_ch != 0 } { + set tol_gr [expr abs($gr_ch - $gr_int)/$gr_ch] + } else { + set tol_gr $gr_int + } + if { $bl_ch != 0 } { + set tol_bl [expr abs($bl_ch - $bl_int)/$bl_ch] + } else { + set tol_bl $bl_int + } + + if { $tol_rd > 0.2 || $tol_gr > 0.2 || $tol_bl > 0.2 } { + puts "Warning : Point with true color was not found near default coordinates" + set mistake 0 + } else { + set mistake 1 + } + incr j + } + incr i + } + return $mistake +} + +# Procedure to check color using command QAgetPixelColor with tolerance +proc checkcolor { coord_x coord_y rd_get gr_get bl_get } { + puts "Coordinate x = $coord_x" + puts "Coordinate y = $coord_y" + puts "RED color of RGB is $rd_get" + puts "GREEN color of RGB is $gr_get" + puts "BLUE color of RGB is $bl_get" + + if { $coord_x <= 1 || $coord_y <= 1 } { + puts "Error : minimal coordinate is x = 2, y = 2. But we have x = $coord_x y = $coord_y" + return -1 + } + global color2d + if { [info exists color2d] } { + set color [ QAAISGetPixelColor2d ${coord_x} ${coord_y} ] + } else { + set color [ QAGetPixelColor ${coord_x} ${coord_y} ] + } + + regexp {RED +: +([-0-9.+eE]+)} $color full rd + regexp {GREEN +: +([-0-9.+eE]+)} $color full gr + regexp {BLUE +: +([-0-9.+eE]+)} $color full bl + set rd_int [expr int($rd * 1.e+05)] + set gr_int [expr int($gr * 1.e+05)] + set bl_int [expr int($bl * 1.e+05)] + set rd_ch [expr int($rd_get * 1.e+05)] + set gr_ch [expr int($gr_get * 1.e+05)] + set bl_ch [expr int($bl_get * 1.e+05)] + + if { $rd_ch != 0 } { + set tol_rd [expr abs($rd_ch - $rd_int)/$rd_ch] + } else { + set tol_rd $rd_int + } + if { $gr_ch != 0 } { + set tol_gr [expr abs($gr_ch - $gr_int)/$gr_ch] + } else { + set tol_gr $gr_int + } + if { $bl_ch != 0 } { + set tol_bl [expr abs($bl_ch - $bl_int)/$bl_ch] + } else { + set tol_bl $bl_int + } + set status 0 + if { $tol_rd > 0.2 } { + puts "Warning : RED light of additive color model RGB is invalid" + set status 1 + } + if { $tol_gr > 0.2 } { + puts "Warning : GREEN light of additive color model RGB is invalid" + set status 1 + } + if { $tol_bl > 0.2 } { + puts "Warning : BLUE light of additive color model RGB is invalid" + set status 1 + } + + if { $status != 0 } { + puts "Warning : Colors of default coordinate are not equal" + } + + global stat + if { $tol_rd > 0.2 || $tol_gr > 0.2 || $tol_bl > 0.2 } { + set info [checkpoint $coord_x $coord_y $rd_ch $gr_ch $bl_ch] + set stat [lindex $info end] + if { ${stat} != 1 } { + puts "Error : Colors are not equal in default coordinate and in the near coordinates too" + return $stat + } else { + puts "Point with valid color was found" + return $stat + } + } else { + set stat 1 + } +} + + # Procedure to check if sequence of values in listval follows linear trend # adding the same delta on each step. # diff --git a/tests/bugs/demo/bug23410 b/tests/bugs/demo/bug23410 old mode 100644 new mode 100755 index 2a4b9ec643..87393c8e62 --- a/tests/bugs/demo/bug23410 +++ b/tests/bugs/demo/bug23410 @@ -7,52 +7,21 @@ puts "" ####################################################################### pload QAcommands -set r_1 0.4 -set r_2 0.5 -set g_1 0.9 -set g_2 1 -set b_1 0 -set b_2 0.1 -set x1 128 -set y1 235 +set x_coord 128 +set y_coord 235 + box result 100 100 100 vdisplay result vsetdispmode 1 vfit vsetcolor result GREEN -set color [ QAGetPixelColor ${x1} ${y1} ] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl - -set red_status 0 -if { $rd < $r_1 || $rd > $r_2 } { - set red_status 1 -} else { - set red_status 0 -} - -set green_status 0 -if { $gr < $g_1 || $gr > $g_2 } { - set green_status 1 -} else { - set green_status 0 -} - -set blue_status 0 -if { $bl < $b_1 || $bl > $b_2 } { - set blue_status 1 -} else { - set blue_status 0 -} - -if { $red_status != 0 || $green_status != 0 || $blue_status != 0 } { - puts "Error : color are not equal" - puts "Error : QA command QAGetPixelColor doesn't work properly" -} + +checkcolor $x_coord $y_coord 0.45 0.95 0.05 + set 3dviewer 1 + diff --git a/tests/bugs/modalg/buc60663_2 b/tests/bugs/modalg/buc60663_2 index 1a075edf34..e6a0c9cd22 100755 --- a/tests/bugs/modalg/buc60663_2 +++ b/tests/bugs/modalg/buc60663_2 @@ -23,7 +23,7 @@ explode b e explode b_4 v distmini d $ver b_5 -regexp {([-0-9.+eE]+)} [dump d_val] full dist +regexp {([-0-9.+eE]+)$} [dump d_val] full dist regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} [maxtolerance $ver] full toler if {$dist > $toler} { diff --git a/tests/bugs/modalg/buc60690 b/tests/bugs/modalg/buc60690 index c14362b9ab..66b214437e 100755 --- a/tests/bugs/modalg/buc60690 +++ b/tests/bugs/modalg/buc60690 @@ -30,13 +30,13 @@ if { [regexp {Faulty} $che ] == 1 } { distmini d1 result_1 b distmini d2 [lindex $le [expr [llength $le] - 1]] b - regexp {([-0-9.+eE]+)} [dump d1_val] full du1 + regexp {([-0-9.+eE]+)$} [dump d1_val] full du1 if { [expr $du1 > 1e-7] } { puts "Faulty : The distance between first vertex and shellB is $du1. It is more then 1e-7." } - regexp {([-0-9.+eE]+)} [dump d2_val] full du2 + regexp {([-0-9.+eE]+)$} [dump d2_val] full du2 if { [expr $du2 > 1e-7] } { puts "Faulty : The distance between last vertex and shellB is $du2. It is more then 1e-7." } diff --git a/tests/bugs/modalg/buc60827 b/tests/bugs/modalg/buc60827 index ac9e510b5c..9776b3621a 100755 --- a/tests/bugs/modalg/buc60827 +++ b/tests/bugs/modalg/buc60827 @@ -34,12 +34,12 @@ if { [regexp {Faulty} $che ] == 1 } { puts "Faulty :The result of section is an empty compound." } else { distmini d1 res_1 a_1 - regexp {([-0-9.+eE]+)} [dump d1_val] full len1 + regexp {([-0-9.+eE]+)$} [dump d1_val] full len1 if ([expr $len1 > 1e-7]) { puts "Faulty :The section is incomplite." } else { distmini d2 res_2 a_2 - regexp {([-0-9.+eE]+)} [dump d2_val] full len2 + regexp {([-0-9.+eE]+)$} [dump d2_val] full len2 if ([expr $len2 > 1e-7]) { puts "Faulty :The section is incomplite." } diff --git a/tests/bugs/modalg/bug1013 b/tests/bugs/modalg/bug1013 new file mode 100755 index 0000000000..2314bb58ed --- /dev/null +++ b/tests/bugs/modalg/bug1013 @@ -0,0 +1,13 @@ +puts "================" +puts "OCC1013" +puts "OCC906" +puts "================" +puts "" + +restore [locate_data_file DXF906.rle] wire +puts [checkshape wire] + +mkplane result wire + +set square 92131.6 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug144 b/tests/bugs/modalg/bug144 index d58e863198..0c521635a0 100755 --- a/tests/bugs/modalg/bug144 +++ b/tests/bugs/modalg/bug144 @@ -22,7 +22,7 @@ explode b e explode b_4 v distmini d $ver b_5 -regexp {([-0-9.+eE]+)} [dump d_val] full dist +regexp {([-0-9.+eE]+)$} [dump d_val] full dist regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} [ maxtolerance $ver ] full toler if { [expr $dist > $toler] } { diff --git a/tests/bugs/modalg/bug238_1 b/tests/bugs/modalg/bug238_1 index a972612ebc..fd49fe852b 100755 --- a/tests/bugs/modalg/bug238_1 +++ b/tests/bugs/modalg/bug238_1 @@ -20,7 +20,7 @@ set nb_e_good 7 explode result v explode a e distmini di result_1 a_3 -regexp {([-0-9.+eE]+)} [dump $di_val] full dis +regexp {([-0-9.+eE]+)$} [dump $di_val] full dis if { [expr $dis > 1.e-5] } { puts "Faulty : Result shape is WRONG !!!" } else { diff --git a/tests/bugs/modalg/bug238_2 b/tests/bugs/modalg/bug238_2 index 8118745c11..bb1f0622f8 100755 --- a/tests/bugs/modalg/bug238_2 +++ b/tests/bugs/modalg/bug238_2 @@ -20,7 +20,7 @@ set nb_e_good 7 explode result v explode a e distmini di result_2 a_3 -regexp {([-0-9.+eE]+)} [dump $di_val] full dis +regexp {([-0-9.+eE]+)$} [dump $di_val] full dis if { [expr $dis > 1.e-5] } { puts "Faulty : Result shape is WRONG !!!" } else { diff --git a/tests/bugs/modalg/bug322 b/tests/bugs/modalg/bug322 index acc4752cfe..ac66c96178 100755 --- a/tests/bugs/modalg/bug322 +++ b/tests/bugs/modalg/bug322 @@ -14,18 +14,15 @@ vinit vdisplay result vfit -set Yellow_R 1 -set Yellow_G 1 -set Yellow_B 0 +set x_coord 204 +set y_coord 297 -set x1 204 -set y1 297 +checkcolor $x_coord $y_coord 1 1 0 -set x2 251 -set y2 232 +set x_coord 251 +set y_coord 232 -QAGetPixelColor $x1 $y1 $Yellow_R $Yellow_G $Yellow_B -QAGetPixelColor $x2 $y2 $Yellow_R $Yellow_G $Yellow_B +checkcolor $x_coord $y_coord 1 1 0 set square 20000 set only_screen 1 diff --git a/tests/bugs/modalg/bug397 b/tests/bugs/modalg/bug397 index 8328ceb3ae..1e1f65b05b 100755 --- a/tests/bugs/modalg/bug397 +++ b/tests/bugs/modalg/bug397 @@ -4,19 +4,6 @@ puts "========================" pload QAcommands -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 50196 - set gr_ch 34901 - set bl_ch 5098 -} else { - set rd_ch 50588 - set gr_ch 34901 - set bl_ch 5098 -} - restore [locate_data_file OCC397.brep] a puts [checkshape a] @@ -29,17 +16,12 @@ vdisplay result vfit vsetdispmode result 1 -set color [QAGetPixelColor 235 180] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 235 +set y_coord 180 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.5 0.35 0.05 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { ${stat} != 1 } { puts "Error : Shading is missing in 3D Viewer" } diff --git a/tests/bugs/modalg/bug398 b/tests/bugs/modalg/bug398 new file mode 100755 index 0000000000..0378b709f7 --- /dev/null +++ b/tests/bugs/modalg/bug398 @@ -0,0 +1,37 @@ +#INTERFACE IGES +puts "========" +puts "OCC398" +puts "========" +puts "" +############################################################# +## ShapeHealing modification 1:1 increases number of unique shapes in compound structure. +############################################################# + +pload XDE +catch { source $env(CSF_DrawPluginQADefaults)/QARebuildCommands } + +restore [locate_data_file OCC398.brep] a +#statsh a +#nbshapes a +#Statshape should give 3 solids +#Nbshape should return 1 solid + +scaleshape result a 10 + +#statsh res + + +set nb_info [nbshapes result] +set nb_sol_good 1 + +#if { $sol == 1 } { +# puts " OCC398 : scaleshape operation was made properly" +#} else { +# puts "Faulty OCC398: scaleshape operation was made wrongly" +#} + +#Statshape should give 3 solids +#Nbshape should return 1 solid (3 solids is returned if bug not fixed) + +set square 180000. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug418_1 b/tests/bugs/modalg/bug418_1 new file mode 100755 index 0000000000..f9aef020ef --- /dev/null +++ b/tests/bugs/modalg/bug418_1 @@ -0,0 +1,22 @@ + +puts "========================" +puts " OCC418 " +puts "CTS20370" +puts "(case 1)" +puts "========================" +puts "" + +restore [locate_data_file CTO904_cts20370-part.rle] part +puts [checkshape part] + +restore [locate_data_file cts20370-tool.rle] tool +puts [checkshape tool] + +bsection sec part tool +puts [checkshape -top sec] + +bcut result part tool +puts [checkshape -top result] + +set square 273365. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug418_2 b/tests/bugs/modalg/bug418_2 new file mode 100755 index 0000000000..67c9b3409c --- /dev/null +++ b/tests/bugs/modalg/bug418_2 @@ -0,0 +1,22 @@ + +puts "========================" +puts " OCC418 " +puts "CTS20370" +puts "(case 2)" +puts "========================" +puts "" + +restore [locate_data_file CTO904_cts20370-part.rle] a +puts [checkshape a] + +restore [locate_data_file cts20370-tool.rle] b +puts [checkshape b] + +bsection sec a b + +bfuse result a b +puts [checkshape -top result] + +set square 261265. +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug419 b/tests/bugs/modalg/bug419 new file mode 100755 index 0000000000..6952e27a75 --- /dev/null +++ b/tests/bugs/modalg/bug419 @@ -0,0 +1,22 @@ +# Original bug : + +puts "========================" +puts " OCC419 " +puts "FRA50047" +puts "========================" +puts "" + +restore [locate_data_file CTO904_fra50047a.rle] a +puts [checkshape a] + +restore [locate_data_file fra50047b.rle] b +puts [checkshape b] + +bsection sec a b +puts [checkshape -top sec] + +bfuse result a b +puts [checkshape -top result] + +set square 508496. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug420 b/tests/bugs/modalg/bug420 new file mode 100755 index 0000000000..de8f7e51f4 --- /dev/null +++ b/tests/bugs/modalg/bug420 @@ -0,0 +1,25 @@ +puts "TODO OCC12345 ALL: Error : The square of result shape is" +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" + +puts "========================" +puts " OCC420 " +puts "PRO12473" +puts "========================" +puts "" + +restore [locate_data_file CTO909_objects.brep] a +puts [checkshape a] + +restore [locate_data_file CTO909_tool_4.brep] b +puts [checkshape b] + +bsection sec a b +puts [checksection sec] +puts [checkshape sec] +explode a so +renamevar a_1 a + +bcut result a b + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug421 b/tests/bugs/modalg/bug421 new file mode 100755 index 0000000000..b8be0ec45c --- /dev/null +++ b/tests/bugs/modalg/bug421 @@ -0,0 +1,18 @@ + +puts "========================" +puts " OCC421 " +puts "========================" +puts "" + +profile p c 5 180 l 5 t 0 5 d -1 0 c 5 180 l 5 +polyline w 0 0 0 0 0 10 +pipe p w p +nexplode p f + +depouille result p 0 0 1 p_1 5 0 0 0 0 0 1 \ +p_7 1 0 0 0 0 0 1 \ +p_8 5 0 0 0 0 0 1 \ +p_2 1 0 0 0 0 0 1 + +set square 659.647 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug422_1 b/tests/bugs/modalg/bug422_1 new file mode 100755 index 0000000000..e7cb936edb --- /dev/null +++ b/tests/bugs/modalg/bug422_1 @@ -0,0 +1,19 @@ + +puts "========================" +puts " OCC422 " +puts "(case 1)" +puts "========================" +puts "" + +plane p 0 0 0 0 0 1 -1 0 0 +psphere p p 20 0 90 +#profile pf o -4 -4 1 l 8 d 0 1 l 8 d -1 0 l 8 +profile pf o -4 -4 1 l 8 c 2 90 l 8 d -1 0 l 8 +prism p2 pf 0 0 40 +bfuse f p p2 +nexplode f f + +depouille result f 0 0 1 f_7 5 0 0 40 0 0 1 + +set square 4630.78 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug422_2 b/tests/bugs/modalg/bug422_2 new file mode 100755 index 0000000000..f5a230891d --- /dev/null +++ b/tests/bugs/modalg/bug422_2 @@ -0,0 +1,19 @@ + +puts "========================" +puts " OCC422 " +puts "(case 2)" +puts "========================" +puts "" + +plane ps 10 -3 0 1 0 0 0 .2 1 +psphere ps ps 20 +profile pf o 5 1 5 l 10 c 2 90 l 5 d -1 0 \ +l 14 d 0 -1 l 5 c 2 90 +prism pr pf 0 0 30 +bfuse f ps pr +nexplode f f + +depouille result f 0 0 1 f_4 4 0 0 30 0 0 1 + +set square 5719.09 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug423_1 b/tests/bugs/modalg/bug423_1 new file mode 100755 index 0000000000..ff302a5519 --- /dev/null +++ b/tests/bugs/modalg/bug423_1 @@ -0,0 +1,27 @@ + +puts "========================" +puts " OCC423 " +puts "(case 1)" +puts "========================" +puts "" + +restore [locate_data_file cylindre.rle] cyl +puts [checkshape cyl] + +restore [locate_data_file contour.rle] cont +puts [checkshape cont] + +mkplane cont cont +nexplode cyl F + +ttranslate cont 0 200 0 +featdprism cyl cont cont 10 1 1 + +if [catch {featperformval dprism result 55 cyl_3 } catch_result] { + puts "Faulty OCC423 (case 1): function FEATPERFORMVAL works wrongly" +} else { + puts "OCC423 OK (case 1): function FEATPERFORMVAL works properly" +} + +set square 94944.4 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug423_2 b/tests/bugs/modalg/bug423_2 new file mode 100755 index 0000000000..a60ae4254d --- /dev/null +++ b/tests/bugs/modalg/bug423_2 @@ -0,0 +1,23 @@ + +puts "========================" +puts " OCC423 " +puts "(case 2)" +puts "========================" +puts "" + +restore [locate_data_file pro15515_base.rle] base +puts [checkshape base] + +restore [locate_data_file pro15515_face.rle] cont +puts [checkshape cont] + +explode base face +copy base_4 ffrom +copy base_3 funtil + +### From Until +featrevol base cont cont 54.06494140625 70.2841796875 0 0 0 1 1 1 +featperform revol result funtil ffrom + +set square 560028. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug424_1 b/tests/bugs/modalg/bug424_1 new file mode 100755 index 0000000000..81ed440127 --- /dev/null +++ b/tests/bugs/modalg/bug424_1 @@ -0,0 +1,21 @@ + +puts "========================" +puts " OCC424 " +puts "(case 1)" +puts "========================" +puts "" + +restore [locate_data_file CFE_e_lonfzx.rle] E +nexplode E f + +profile cont S E_10 F 50 -100 X 50 Y -100 X -50 +featdprism E cont E_10 10 1 1 + +if [catch {featperform dprism result E_5 E_6 } catch_result] { + puts "Faulty OCC424 (case 1): function FEATPERFORM works wrongly" +} else { + puts "OCC424 OK (case 1): function FEATPERFORM works properly" +} + +set square 978236. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug424_2 b/tests/bugs/modalg/bug424_2 new file mode 100755 index 0000000000..4c46214524 --- /dev/null +++ b/tests/bugs/modalg/bug424_2 @@ -0,0 +1,21 @@ + +puts "========================" +puts " OCC424 " +puts "(case 2)" +puts "========================" +puts "" + +restore [locate_data_file CFE_e_lonfzx.rle] E +nexplode E f + +profile cont S E_10 F 50 -100 X 50 Y -100 X -50 +featdprism E cont E_10 10 1 1 + +if [catch {featperform dprism result } catch_result] { + puts "Faulty OCC424 (case 2): function FEATPERFORM works wrongly" +} else { + puts "OCC424 OK (case 2): function FEATPERFORM works properly" +} + +set square 978236. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug427_1 b/tests/bugs/modalg/bug427_1 new file mode 100755 index 0000000000..3366b36c8f --- /dev/null +++ b/tests/bugs/modalg/bug427_1 @@ -0,0 +1,26 @@ + +puts "=========" +puts " OCC427 " +puts "(case 1)" +puts "=========" +puts "" +cpulimit 1200 +proc OFFSETSHAPE {distance faces calcul type} { + uplevel #0 explode s f + uplevel #0 offsetparameter 1e-7 $calcul $type + uplevel #0 offsetload s $distance $faces + uplevel #0 offsetperform result +} + +#Shell no rough and rounded mode + +set calcul "c" +set type "i" + +pcone s 9 4 15 90 +trotate s 0 0 0 0 0 1 90 + +OFFSETSHAPE 1 {} $calcul $type + +set square 671.382 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug427_2 b/tests/bugs/modalg/bug427_2 new file mode 100755 index 0000000000..785a8dd3dd --- /dev/null +++ b/tests/bugs/modalg/bug427_2 @@ -0,0 +1,26 @@ + +puts "========================" +puts " OCC427 " +puts "(case 2)" +puts "========================" +puts "" +cpulimit 1200 +proc OFFSETSHAPE {distance faces calcul type} { + uplevel #0 explode s f + uplevel #0 offsetparameter 1e-7 $calcul $type + uplevel #0 offsetload s $distance $faces + uplevel #0 offsetperform result +} + +#Shell no rough and rounded mode + +set calcul "c" +set type "i" + +pcone s 9 4 15 90 +trotate s 0 0 0 0 0 1 90 + +OFFSETSHAPE 1 {s_5} $calcul $type + +set square 858.167 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug427_3 b/tests/bugs/modalg/bug427_3 new file mode 100755 index 0000000000..e260fb5023 --- /dev/null +++ b/tests/bugs/modalg/bug427_3 @@ -0,0 +1,26 @@ + +puts "========================" +puts " OCC427 " +puts "(case 3)" +puts "========================" +puts "" +cpulimit 1200 +proc OFFSETSHAPE {distance faces calcul type} { + uplevel #0 explode s f + uplevel #0 offsetparameter 1e-7 $calcul $type + uplevel #0 offsetload s $distance $faces + uplevel #0 offsetperform result +} + +#Shell no rough and rounded mode + +set calcul "c" +set type "i" + +pcone s 9 4 15 90 +trotate s 0 0 0 0 0 1 90 + +OFFSETSHAPE 1 {s_2 s_3} $calcul $type + +set square 885.688 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug427_4 b/tests/bugs/modalg/bug427_4 new file mode 100755 index 0000000000..010e2aa3ed --- /dev/null +++ b/tests/bugs/modalg/bug427_4 @@ -0,0 +1,30 @@ + +puts "========================" +puts " OCC427 " +puts "(case 4)" +puts "========================" +puts "" +cpulimit 1200 +proc OFFSETSHAPE {distance faces calcul type} { + uplevel #0 explode s f + uplevel #0 offsetparameter 1e-7 $calcul $type + uplevel #0 offsetload s $distance $faces + uplevel #0 offsetperform result +} + +#Shell no rough and rounded mode + +set calcul "c" +set type "i" + +circle w -20 0 0 20 +mkedge w w 0 pi*2/5 +wire w w +polyline profile 0 0 0 10 0 0 5 0 5 0 0 0 +mkplane profile profile +pipe s w profile + +OFFSETSHAPE 1 {} $calcul $type + +set square 1306.3 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug427_5 b/tests/bugs/modalg/bug427_5 new file mode 100755 index 0000000000..d469afa53a --- /dev/null +++ b/tests/bugs/modalg/bug427_5 @@ -0,0 +1,30 @@ + +puts "========================" +puts " OCC427 " +puts "(case 5)" +puts "========================" +puts "" +cpulimit 1200 +proc OFFSETSHAPE {distance faces calcul type} { + uplevel #0 explode s f + uplevel #0 offsetparameter 1e-7 $calcul $type + uplevel #0 offsetload s $distance $faces + uplevel #0 offsetperform result +} + +#Shell no rough and rounded mode + +set calcul "c" +set type "i" + +circle w -20 0 0 20 +mkedge w w 0 pi*2/5 +wire w w +polyline profile 0 0 0 10 0 0 5 0 5 0 0 0 +mkplane profile profile +pipe s w profile + +OFFSETSHAPE 1 {s_2} $calcul $type + +set square 1297.39 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug427_6 b/tests/bugs/modalg/bug427_6 new file mode 100755 index 0000000000..5065de996a --- /dev/null +++ b/tests/bugs/modalg/bug427_6 @@ -0,0 +1,30 @@ + +puts "========================" +puts " OCC427 " +puts "(case 6)" +puts "========================" +puts "" +cpulimit 1200 +proc OFFSETSHAPE {distance faces calcul type} { + uplevel #0 explode s f + uplevel #0 offsetparameter 1e-7 $calcul $type + uplevel #0 offsetload s $distance $faces + uplevel #0 offsetperform result +} + +#Shell no rough and rounded mode + +set calcul "c" +set type "i" + +circle w -20 0 0 20 +mkedge w w 0 pi*2/5 +wire w w +polyline profile 0 0 0 10 0 0 5 0 5 0 0 0 +mkplane profile profile +pipe s w profile + +OFFSETSHAPE 1 {s_4 s_5} $calcul $type + +set square 808.448 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug516 b/tests/bugs/modalg/bug516 new file mode 100755 index 0000000000..a260ef015b --- /dev/null +++ b/tests/bugs/modalg/bug516 @@ -0,0 +1,23 @@ + +puts "========" +puts "OCC516" +puts "========" +puts "" +######################################### +## Wrong classification of the 3D-point with the Solid . +######################################### + +point p 14.99999878745701 5.52319672860377e-07 7.78393041 +vertex v 14.99999878745701 5.52319672860377e-07 7.78393041 +restore [locate_data_file OCC516.brep] result + +set cls [bclassify result p] + +if { [regexp {OUT} $cls] } { + puts "Faulty : Wrong classification of the 3D-point with the Solid" +} else { + puts "CORRECT classification of the 3D-point with the Solid" +} + +set square 7752.98 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug539_1 b/tests/bugs/modalg/bug539_1 new file mode 100755 index 0000000000..17d2f24340 --- /dev/null +++ b/tests/bugs/modalg/bug539_1 @@ -0,0 +1,21 @@ + +puts "========================" +puts " OCC539 " +puts "(case 1)" +puts "========================" +puts "" + + puts "===========================================" + puts " BOPCOMMON case_4_shell.brep and case_4_wire3.brep" + puts "===========================================" + puts " " + puts [restore [locate_data_file case_4_shell.brep] a] + puts [restore [locate_data_file case_4_wire3.brep] b] + puts [bop a b] + puts [bopcommon result] +set nb_info [nbshapes result] +set nb_v_good 15 +set nb_e_good 10 + +set length 1150.78 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug539_2 b/tests/bugs/modalg/bug539_2 new file mode 100755 index 0000000000..abdaf6a222 --- /dev/null +++ b/tests/bugs/modalg/bug539_2 @@ -0,0 +1,23 @@ + +puts "========================" +puts " OCC539 " +puts "(case 2)" +puts "========================" +puts "" + + puts "============================================" + puts " BOPTUC case_4_shell.brep and case_4_wire3.brep" + puts "============================================" + puts " " + puts [restore [locate_data_file case_4_shell.brep] a] + puts [restore [locate_data_file case_4_wire3.brep] b] + puts [bop a b] + puts [boptuc result] + +set nb_info [nbshapes result] +set nb_v_good 16 +set nb_e_good 11 + +set length 929.278 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug571_1 b/tests/bugs/modalg/bug571_1 new file mode 100755 index 0000000000..f53d376ec3 --- /dev/null +++ b/tests/bugs/modalg/bug571_1 @@ -0,0 +1,22 @@ +puts "========" +puts "OCC571" +puts "========" +puts "" +########################## +## Fillet operation fails on given shape +########################## +## LIMITATION: Builds fillet with 0.03<=r<=1.2 +########################## + +restore [locate_data_file OCC571.brep] a +puts [checkshape a] +explode a + +if [catch {fillet result a_1 1.2 a_2 } catch_result] { + puts "Faulty OCC571 exception (case 1): Fillet operation fails on given shape " +} else { + puts " OCC571 (case 1) OK: Fillet operation was made" +} + +set square 21118.1 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug571_2 b/tests/bugs/modalg/bug571_2 new file mode 100755 index 0000000000..6d4add64e2 --- /dev/null +++ b/tests/bugs/modalg/bug571_2 @@ -0,0 +1,22 @@ +puts "========" +puts "OCC571" +puts "========" +puts "" +########################## +## Fillet operation fails on given shape +########################## +## LIMITATION: Builds fillet with 0.03<=r<=1.2 +########################## + +restore [locate_data_file OCC571.brep] a +puts [checkshape a] +explode a + +if [catch {fillet result a_1 0.03 a_2 } catch_result] { + puts "Faulty OCC571 exception (case 2): Fillet operation fails on given shape " +} else { + puts " OCC571 (case 2) OK: Fillet operation was made" +} + +set square 21209.9 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug594 b/tests/bugs/modalg/bug594 new file mode 100755 index 0000000000..625301ed9f --- /dev/null +++ b/tests/bugs/modalg/bug594 @@ -0,0 +1,26 @@ + +puts "========================" +puts " SAL594 " +puts "========================" +puts "" +################################### +## It is impossible to put correct fillets on the shape +################################### + +restore [locate_data_file SAL594.brep] a +explode a e + +if [catch {blend result1 a 20 a_23 20 a_25 20 a_26 20 a_28} catch_result] { + puts "Faulty SAL594 (case 1): function BLEND works wrongly" +} else { + puts "SAL594 OK (case 1): function BLEND works OK" +} + +if [catch {blend result result1 2.5 a_15 2.5 a_12 2.5 a_4} catch_result] { + puts "Faulty SAL594 (case 2): function BLEND works wrongly." +} else { + puts "SAL594 OK (case 2): function BLEND works OK" +} + +set square 60513.1 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug600 b/tests/bugs/modalg/bug600 new file mode 100755 index 0000000000..0444f1f00f --- /dev/null +++ b/tests/bugs/modalg/bug600 @@ -0,0 +1,19 @@ +puts "TODO ?OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO ?OCC12345 ALL: Error : The square of result shape is" + +puts "========================" +puts " OCC600" +puts "========================" +## Result of BOPCOMMON operation is unclosed shape inspite of source solids are valid +############################################################ +cpulimit 5000 +restore [locate_data_file OCC600_1.brep] a +puts [checkshape a] +restore [locate_data_file OCC600_2.brep] b +puts [checkshape b] +bop b a + +bopcommon result + +set square 41970.8 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug602 b/tests/bugs/modalg/bug602 new file mode 100755 index 0000000000..a1666fb1f6 --- /dev/null +++ b/tests/bugs/modalg/bug602 @@ -0,0 +1,24 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +puts "========================" +puts " OCC602 " +puts "========================" +puts "" +########################################### +## Exception during filet creation if it cross samedge of cylinder. +########################################### + +restore [locate_data_file OCC602.brep] a +puts [checkshape a] + +explode a e + +if [catch {blend result a 20 a_9 } catch_result] { + puts "Faulty OCC602: function BLEND works wrongly" +} else { + puts "OCC602 OK: function BLEND works OK" +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug605 b/tests/bugs/modalg/bug605 new file mode 100755 index 0000000000..03af86bbdd --- /dev/null +++ b/tests/bugs/modalg/bug605 @@ -0,0 +1,37 @@ + +puts "========================" +puts " OCC605" +puts "========================" +puts "" +############################## +## No any faces in result of pipe command. +############################## + +restore [locate_data_file OCC605a.brep] w1 +puts [checkshape w1] +restore [locate_data_file OCC605b.brep] w2 +puts [checkshape w2] + +if { [catch {pipe result w2 w1 } catch_result] } { + puts "Faulty OCC605: function PIPE works with exception." +} else { + explode result f + set nom 0 + set j 1 + repeat 20 { + if { [regexp {FACE} [whatis result_$j]] != 1 } { + break + } else { + set nom [expr $nom + 1] + } + incr j + } + if { $nom == 0 } { + puts " Faulty OCC605: Result of PIPE operation is incorrect !!! " + } else { + puts "OCC605 OK : Result of PIPE operation is NOT empty shell!!! " + } +} + +set square 20.6253 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug615 b/tests/bugs/modalg/bug615 new file mode 100755 index 0000000000..62099e0fd5 --- /dev/null +++ b/tests/bugs/modalg/bug615 @@ -0,0 +1,22 @@ +puts "TODO ?OCC12345 ALL: Error : The square of result shape is" + +puts "========================" +puts " OCC615" +puts "========================" +puts "" +############################# +## Wrong resultat of BLEND operation +############################# + +restore [locate_data_file OCC615.brep] a +puts [checkshape a] +explode a e + +if [catch {blend result a 9 a_15 } catch_result] { + puts "Faulty OCC615: function BLEND works with exception" +} else { + puts "OCC615 OK: function CHAMF works OK" +} + +set square 197055. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug616 b/tests/bugs/modalg/bug616 new file mode 100755 index 0000000000..f5bfc8861b --- /dev/null +++ b/tests/bugs/modalg/bug616 @@ -0,0 +1,22 @@ + +puts "========================" +puts " OCC616" +puts "========================" +puts "" +######################################## +## Function MKOFFSET gives exception for attached face +######################################## + +restore [locate_data_file OCC616.brep] a +puts [checkshape a] + +if { [catch {mkoffset result a 5 -2} catch_result] } { + puts "Faulty OCC616: function MKOFFSET works with exception" +} else { + renamevar result_1 result + puts [checkshape result] + puts "OCC616 OK: function MKOFFSET works OK" +} + +set length 1062.78 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug620_1 b/tests/bugs/modalg/bug620_1 new file mode 100755 index 0000000000..e29df95fa1 --- /dev/null +++ b/tests/bugs/modalg/bug620_1 @@ -0,0 +1,24 @@ + +puts "========================" +puts "OCC620" +puts "========================" +puts "" +############################ +## No possibility to cut the shapes. +############################ + +restore [locate_data_file OCC620a.brep] a +puts [checkshape a] +restore [locate_data_file OCC620b.brep] b +puts [checkshape b] + +bop a b + +if [catch { bopcut result } catch_result] { + puts "Faulty OCC620 : BOPCUT operation was made wrongly" +} else { + puts "OCC620 OK: BOPCUT operation works OK" +} + +set square 314742. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug620_2 b/tests/bugs/modalg/bug620_2 new file mode 100755 index 0000000000..c6e6ad1cd1 --- /dev/null +++ b/tests/bugs/modalg/bug620_2 @@ -0,0 +1,24 @@ + +puts "========================" +puts "OCC620" +puts "========================" +puts "" +############################ +## No possibility to cut the shapes. +############################ + +restore [locate_data_file OCC620a.brep] a +puts [checkshape a] +restore [locate_data_file OCC620b.brep] b +puts [checkshape b] + +bop a b + +if [catch { boptuc result } catch_result] { + puts "Faulty OCC620 : BOPTUC operation was made wrongly" +} else { + puts "OCC620 OK: BOPTUC operation works OK" +} + +set square 1.15562e+06 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug625 b/tests/bugs/modalg/bug625 new file mode 100755 index 0000000000..703c38da3b --- /dev/null +++ b/tests/bugs/modalg/bug625 @@ -0,0 +1,35 @@ +puts "========================" +puts "OCC625" +puts "========================" +puts "" +############################################################################### +## Created filler looks strange (see attached picture) inspite of checkshapes told about correct source and result shapes. +############################################################################### + +pload QAcommands + +restore [locate_data_file OCC625.brep] a +puts [checkshape a] + +vinit +tclean a +explode a e + +blend res1 a 10 a_22 10 a_14 +blend result res1 10 a_17 10 a_4 +puts [checkshape result] + +vinit +vdisplay result +vfit +vsetdispmode result 1 + +QAUpdateLights + +set x_coord 116 +set y_coord 252 + +checkcolor $x_coord $y_coord 0.82 0.58 0.09 + +set square 19977 +set 3dviewer 1 \ No newline at end of file diff --git a/tests/bugs/modalg/bug629 b/tests/bugs/modalg/bug629 new file mode 100755 index 0000000000..90b1da5350 --- /dev/null +++ b/tests/bugs/modalg/bug629 @@ -0,0 +1,25 @@ +puts "TODO OCC12345 ALL: Error : The square of result shape is" +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" + +puts "================" +puts "OCC629" +puts "================" +puts "" +########################################## +## Exception during attempt to create solid by command PIPE +########################################## + +restore [locate_data_file OCC629a.brep] a +puts [checkshape a] + +restore [locate_data_file OCC629b.brep] b +puts [checkshape b] + +if [catch {pipe result a b } catch_result] { + puts "Faulty OCC629: function PIPE works wrongly" +} else { + puts "OCC629 OK: function PIPE works properly" +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug636 b/tests/bugs/modalg/bug636 new file mode 100755 index 0000000000..b1f49791a2 --- /dev/null +++ b/tests/bugs/modalg/bug636 @@ -0,0 +1,31 @@ + +puts "================" +puts "OCC636" +puts "================" +puts "" +##################################### +## BRepOffsetAPI_MakePipeShell builds twisted pipe +##################################### + +restore [locate_data_file OCC636a.brep] s +puts [checkshape s] + +restore [locate_data_file OCC636b.brep] s1 +puts [checkshape s1] + +restore [locate_data_file OCC636c.brep] s2 +puts [checkshape s2] + +mksweep s +addsweep s1 +addsweep s2 + +if [catch { buildsweep result } catch_result] { + puts "Faulty OCC636: function buildsweep works wrongly" +} else { + puts "OCC636 OK: function buildsweep works properly" +} + +set square 3836.92 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug637_1 b/tests/bugs/modalg/bug637_1 new file mode 100755 index 0000000000..4082fa104b --- /dev/null +++ b/tests/bugs/modalg/bug637_1 @@ -0,0 +1,29 @@ + +puts "================" +puts "OCC637" +puts "(case 1)" +puts "================" +puts "" +########################################## +## BRepOffsetAPI_MakePipeShell crashes with fatal exception +########################################## + +restore [locate_data_file OCC637a.brep] s +puts [checkshape s] + +restore [locate_data_file OCC636c.brep] s1 +puts [checkshape s1] + +restore [locate_data_file OCC637c.brep] s2 +puts [checkshape s2] + +mksweep s +addsweep s1 +addsweep s2 + +if [catch { buildsweep result } catch_result] { + puts "Faulty OCC637 (case 1): function buildsweep works wrongly" +} + +set square 1675.58 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug637_2 b/tests/bugs/modalg/bug637_2 new file mode 100755 index 0000000000..f1b3e33a6a --- /dev/null +++ b/tests/bugs/modalg/bug637_2 @@ -0,0 +1,30 @@ + +puts "================" +puts "OCC637" +puts "(case 2)" +puts "================" +puts "" +########################################## +## BRepOffsetAPI_MakePipeShell crashes with fatal exception +########################################## + +restore [locate_data_file OCC637d.brep] s +puts [checkshape s] + +restore [locate_data_file OCC637c.brep] s1 +puts [checkshape s1] + +restore [locate_data_file OCC637f.brep] s2 +puts [checkshape s2] + +mksweep s +addsweep s1 +addsweep s2 + +if [catch {buildsweep result } catch_result] { + puts "Faulty OCC637 (case 2): function buildsweep works wrongly" +} + +set square 1090.91 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug673 b/tests/bugs/modalg/bug673 new file mode 100755 index 0000000000..d0a23b1fa0 --- /dev/null +++ b/tests/bugs/modalg/bug673 @@ -0,0 +1,25 @@ +puts "TODO OCC12345 ALL: Error : The command can not be build" +puts "TODO OCC12345 ALL: Faulty OCC673: function SPLITSHAPE works wrongly" + +puts "================" +puts "OCC673" +puts "================" +puts "" +####################################################### +## Exception is raised during splitting face by a wire laying on the face boundary. +####################################################### + +restore [locate_data_file OCC673a.brep] a +puts [checkshape a] + +restore [locate_data_file OCC673b.brep] b +puts [checkshape b] + +if [catch {spliteshape result a a b} catch_result] { + puts "Faulty OCC673: function SPLITSHAPE works wrongly" +} else { + puts "OCC673 OK : function SPLITSHAPE works OK" +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug693 b/tests/bugs/modalg/bug693 new file mode 100755 index 0000000000..fa9b714cbd --- /dev/null +++ b/tests/bugs/modalg/bug693 @@ -0,0 +1,79 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is " + +puts "================" +puts "OCC693" +puts "================" +puts "" +################################################### +## The boolean operations give incorrect result if one of shapes is compound +## consisting of several adjoint solids +#################################################### + +box h1 234 52 0 41 98 40 +box v1 241 136 20 31 31 15 +box h3 215 120 20 78 15 15 + +#mu4 +#fit + +compound h1 c1 +compound v1 c2 + +tcopy c1 cc1 +tcopy c2 cc2 +bcommon int1 cc1 cc2 +##########checkshape -top int1 +puts [checkshape -top int1] + +tcopy c1 cc1 +tcopy c2 cc2 +bcut cut1 cc1 cc2 +puts [checkshape -top cut1] + +tcopy c1 cc1 +tcopy c2 cc2 +bcut cut2 cc2 cc1 +##########checkshape -top cut2 +puts [checkshape -top cut2] + +compound int1 cut1 cut2 comp3 +##########checkshape -top comp3 +puts [checkshape -top comp3] +#donly comp3 + +tcopy comp3 ccomp3 +tcopy h3 ch3 +bcommon int2 ccomp3 ch3 +##########checkshape -top int2 +puts [checkshape -top int2] +#donly int2 + +tcopy comp3 ccomp3 +tcopy h3 ch3 +bcut cut3 ccomp3 ch3 +##########checkshape -top cut3 +puts [checkshape -top cut3] +#donly cut3 + +tcopy comp3 ccomp3 +tcopy h3 ch3 +bcut cut4 ch3 ccomp3 +##########checkshape -top cut4 +puts [checkshape -top cut4] + +compound int2 cut3 cut4 result +##########checkshape -top res +puts [checkshape -top result] + +##########set che [checkshape -top res] +########## +##########set err [lindex $che [expr [llength $che] - 7]] +##########if { $err == "Faulty"} { +########## puts "Faulty OCC693" +##########} else { +########## puts "OCC693 OK " +##########} + +set square 33196 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug697_1 b/tests/bugs/modalg/bug697_1 new file mode 100755 index 0000000000..6014e4635b --- /dev/null +++ b/tests/bugs/modalg/bug697_1 @@ -0,0 +1,25 @@ +puts "============" +puts "OCC697" +puts "============" +puts "" +###################################################### +# Fuse operation does not work +###################################################### +## (old topology) +## (fuse) +###################################################### + +restore [locate_data_file OCC697_1.brep] b1 +restore [locate_data_file OCC697_2.brep] b2 + +puts [checkshape b1] +puts [checkshape b2] +############################################## +if { [catch {bfuse result b1 b2} catch_result] } { +############################################## + puts "Faulty : an exception was caught" +} + +set square 8879.41 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug697_2 b/tests/bugs/modalg/bug697_2 new file mode 100755 index 0000000000..616e2e31b4 --- /dev/null +++ b/tests/bugs/modalg/bug697_2 @@ -0,0 +1,29 @@ +puts "============" +puts "OCC697" +puts "============" +puts "" +###################################################### +# Fuse operation does not work +###################################################### +## (old topology) +## (fuse) +###################################################### + +puts "#" +puts "Non stable test case on Linux. MKV. 28.04.2010" +puts "#" + +restore [locate_data_file OCC697_2.brep] b2 +restore [locate_data_file OCC697_3.brep] b3 + +puts [checkshape b2] +puts [checkshape b3] +############################################## +if { [catch {bfuse result b2 b3} catch_result] } { +############################################## + puts "Faulty : an exception was caught" +} + +set square 25357.5 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug698 b/tests/bugs/modalg/bug698 new file mode 100755 index 0000000000..7c1e9d1bd2 --- /dev/null +++ b/tests/bugs/modalg/bug698 @@ -0,0 +1,16 @@ + +puts "======= OCC698 =======" +###################################### +## Cut operation produces bad result on attached shapes +###################################### +cpulimit 10000 +restore [locate_data_file OCC698_1.brep] b4 +puts [checkshape b4] +restore [locate_data_file OCC698_2.brep] b5 +puts [checkshape b5] + +bcut result b5 b4 + +set square 19048.2 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug702 b/tests/bugs/modalg/bug702 new file mode 100755 index 0000000000..5339ae46d0 --- /dev/null +++ b/tests/bugs/modalg/bug702 @@ -0,0 +1,25 @@ + +puts "=======" +puts "OCC702" +puts "SAM1541" +puts "=======" +puts "" +######################## +## No possibility to make a prism. +######################## + +restore [locate_data_file OCC702.brep] a + +if [ catch { prism result a 100 100 100 } catch_result ] { + puts "Faulty OCC702 (case 1)" +} else { + regexp {Mass +: +([-0-9.+eE]+)} [sprops result] full sq + if { $sq <= 0. } { + puts "Faulty OCC702 (case 2)" + } else { + puts "OCC702 OK" + } +} + +set square 308957. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug712_1 b/tests/bugs/modalg/bug712_1 new file mode 100755 index 0000000000..30c82c52bd --- /dev/null +++ b/tests/bugs/modalg/bug712_1 @@ -0,0 +1,23 @@ + +puts "========" +puts "OCC712" +puts "========" +puts "" +######################################################### +## Exeption is raised in DRAW during building draft with help command "depouille" +## on face in the attached shape. +######################################################### + +restore [locate_data_file OCC712.brep] a +puts [checkshape a] + +explode a f + +if [catch {depouille result a 0 0 1 a_2 10 0 39.6875 0 0. 0. -1 } catch_result] { + puts "Faulty OCC712" +} else { + puts "OCC712 OK" +} + +set square 41956.4 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug714 b/tests/bugs/modalg/bug714 new file mode 100755 index 0000000000..dde4163ad8 --- /dev/null +++ b/tests/bugs/modalg/bug714 @@ -0,0 +1,34 @@ +#INTERFACE IGES +puts "========" +puts "OCC714" +puts "========" +puts "" +#################################################### +## After command sew in DRAW on attached shape free wires are disappeared. +#################################################### + +restore [locate_data_file OCC714.brep] a +puts [checkshape a] + +set nb_info1 [nbshapes a] +regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info1 full ve1 +regexp {EDGE +: +([-0-9.+eE]+)} $nb_info1 full ed1 +regexp {WIRE +: +([-0-9.+eE]+)} $nb_info1 full we1 + +sewing result 0.1 a + +set nb_info2 [nbshapes a] +regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info2 full ve2 +regexp {EDGE +: +([-0-9.+eE]+)} $nb_info2 full ed2 +regexp {WIRE +: +([-0-9.+eE]+)} $nb_info2 full we2 + +if { $ve1 != $ve2 || $ed1 != $ed2 || $we1 != $we2} { + puts [format "Faulty OCC714 : SEWING operation was made WRONGLY: vertexes before %s, edges before %s, wires before %s" $ve1 $ed1 $we1] + puts [format " vertexes after %s, edges after %s, wires after %s" $ve1 $ed1 $we1] +} else { + puts "OK OCC714: SEWING operation was made PROPERLY" +} + +set square 12917.1 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug715 b/tests/bugs/modalg/bug715 new file mode 100755 index 0000000000..fa53cc6391 --- /dev/null +++ b/tests/bugs/modalg/bug715 @@ -0,0 +1,28 @@ + +puts "========" +puts "OCC715" +puts "SAM1582" +puts "========" +puts "" +########################################## +## section of two faces produces wrong number of section edges +########################################## + +restore [locate_data_file OCC715_2.brep] f2 +restore [locate_data_file OCC715_3.brep] f3 + +bsection result f2 f3 + +set expl [explode result] + +set length [llength $expl] +puts "Result is $length section edge" + +if {$length != 3} { + puts "Faulty OCC715" +} else { + puts "OCC715 OK" +} + +set length 100. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug726_1 b/tests/bugs/modalg/bug726_1 new file mode 100755 index 0000000000..6d1fa85a0a --- /dev/null +++ b/tests/bugs/modalg/bug726_1 @@ -0,0 +1,21 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +puts "========" +puts "OCC726" +puts "SAM1594" +puts "========" +puts "" +###################################### +## Boolean operations are impossible on the attachment. +###################################### + +restore [locate_data_file OCC726.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcommon result a_1 a_2 + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug726_2 b/tests/bugs/modalg/bug726_2 new file mode 100755 index 0000000000..8381e68322 --- /dev/null +++ b/tests/bugs/modalg/bug726_2 @@ -0,0 +1,21 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +puts "========" +puts "OCC726" +puts "SAM1594" +puts "========" +puts "" +###################################### +## Boolean operations are impossible on the attachment. +###################################### + +restore [locate_data_file OCC726.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcut result a_1 a_2 + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug743 b/tests/bugs/modalg/bug743 new file mode 100755 index 0000000000..b5a01dd0f1 --- /dev/null +++ b/tests/bugs/modalg/bug743 @@ -0,0 +1,42 @@ + +puts "========" +puts "OCC743" +puts "========" +puts "" +####################################### +## The result of offset operation on a planar wire is wrong +####################################### + +restore [locate_data_file OCC743_corr2.brep] a +puts [checkshape a] + +if { [catch { mkoffset result a 1 -15 } status] } { + puts "Faulty OCC743" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 3533.52 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug745_1 b/tests/bugs/modalg/bug745_1 new file mode 100755 index 0000000000..339e27f42d --- /dev/null +++ b/tests/bugs/modalg/bug745_1 @@ -0,0 +1,44 @@ + +puts "========" +puts "OCC745" +puts "========" +puts "" +####################################################### +## There are several cases where the offset algo works wrong for various reasons +## for wires containing only linear segments and arcs of circle. +####################################################### + +restore [locate_data_file OCC745_1.brep] a +puts [checkshape a] + +if { [catch { mkoffset result a 1 -10 } status] } { + puts "Faulty : an exception was caught" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 932.825 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_10 b/tests/bugs/modalg/bug745_10 new file mode 100755 index 0000000000..95ac508628 --- /dev/null +++ b/tests/bugs/modalg/bug745_10 @@ -0,0 +1,27 @@ +puts "TODO OCC12345 ALL: Faulty OCC745" +puts "TODO OCC12345 ALL: Error : The length of result shape is" + +puts "========" +puts "OCC745" +puts "========" +puts "" +############################################# +# Negative offset parameter leads to positive offset and vise +# versa. Result of the offset represent an edge instead of wire. +############################################# + +restore [locate_data_file OCC745_nb1.brep] w +mkoffset result w 1 -1 + +set list [whatis result_1] + +if { [regexp {WIRE} $list] == 0 } { + puts "Faulty OCC745" +} else { + puts "OCC745 OK" +} + +renamevar result_1 result + +set length 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug745_11 b/tests/bugs/modalg/bug745_11 new file mode 100755 index 0000000000..ba30664906 --- /dev/null +++ b/tests/bugs/modalg/bug745_11 @@ -0,0 +1,52 @@ + +puts "========" +puts "OCC745" +puts "========" +puts "" +######################### +# Not correct creation of bisector loci. +######################### + +restore [locate_data_file OCC745_nb2.brep] w +mkplane f w +topoload f +drawcont + +mat +result + +################################################## +#Exception thrown: Standard_ConstructionError: Offset wire is not closed. +################################################## + +if { [catch { mkoffset result w 10 -7 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 1930.99 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_12 b/tests/bugs/modalg/bug745_12 new file mode 100755 index 0000000000..f87a6e1a9d --- /dev/null +++ b/tests/bugs/modalg/bug745_12 @@ -0,0 +1,47 @@ +puts "TODO OCC12345 ALL: An exception was caught" +puts "TODO OCC12345 ALL: Exception " +puts "TODO OCC12345 ALL: Faulty OCC745" +puts "TODO OCC12345 ALL: Error : The command can not be build." + +puts "========" +puts "OCC745" +puts "========" +puts "" +################################################## +# Exception thrown: Standard_ConstructionError: Offset wire is not closed. +################################################## + +restore [locate_data_file OCC745_nb3.brep] w +puts [checkshape w] + +if { [catch { mkoffset result w 1 10 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 0 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_2 b/tests/bugs/modalg/bug745_2 new file mode 100755 index 0000000000..4b9021a846 --- /dev/null +++ b/tests/bugs/modalg/bug745_2 @@ -0,0 +1,26 @@ + +puts "========" +puts "OCC745" +puts "========" +puts "" +################################################## +## This test does not terminate due to infinite loop in bissector calculation +################################################## + +restore [locate_data_file OCC745_2.brep] a +puts [checkshape a] +mkplane pl a +topoload pl +drawcont +smallview -2D- +2dfit + +set min 30 +cpulimit [expr 60 * $min] + +mat +puts "OCC745 OK" + +renamevar pl result +set square 5844.55 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug745_4 b/tests/bugs/modalg/bug745_4 new file mode 100755 index 0000000000..a29a0d8e5e --- /dev/null +++ b/tests/bugs/modalg/bug745_4 @@ -0,0 +1,49 @@ +puts "TODO OCC12345 ALL: Faulty : Result shape is NULL shape" +puts "TODO OCC12345 ALL: Exception: result is not a topological shape!!!" +puts "TODO OCC12345 ALL: TEST INCOMPLETE" + +pload QAcommands + +puts "========" +puts "OCC745" +puts "========" +puts "" +########################################### +# Exception Standard_NullValue while performing the offset: +########################################### + +restore [locate_data_file OCC745_pocket1.brep] a +puts [checkshape a] + +if { [catch { mkoffset result a 1 -10 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + set ve 0 + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 0 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_6 b/tests/bugs/modalg/bug745_6 new file mode 100755 index 0000000000..e3dff58e6b --- /dev/null +++ b/tests/bugs/modalg/bug745_6 @@ -0,0 +1,46 @@ +puts "TODO OCC12345 ALL: Faulty : Result shape is NULL shape" +puts "TODO OCC12345 ALL: Error : The command is not valid. The length is" + +puts "========" +puts "OCC745" +puts "BUC60878" +puts "========" +puts "" +################################ +# There are discontinuities in offset contours: +################################ + +restore [locate_data_file BUC60878-wire3.brep] a +puts [checkshape a] + +if { [catch { mkoffset result a 1 -10 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 0 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_7 b/tests/bugs/modalg/bug745_7 new file mode 100755 index 0000000000..4d909b8a99 --- /dev/null +++ b/tests/bugs/modalg/bug745_7 @@ -0,0 +1,45 @@ +puts "TODO OCC12345 ALL: Faulty : Result shape is NULL shape" +puts "TODO OCC12345 ALL: Error : The command is not valid. The length is" + +puts "========" +puts "OCC745" +puts "========" +puts "" +###################################################### +## Exception thrown: Standard_ConstructionError: Offset wire is not closed: +###################################################### + +source [locate_data_file OCC745_cont1.dat] +puts [checkshape pp] + +if { [catch { mkoffset result pp 1 -10 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 0 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_8 b/tests/bugs/modalg/bug745_8 new file mode 100755 index 0000000000..3dd5080ade --- /dev/null +++ b/tests/bugs/modalg/bug745_8 @@ -0,0 +1,43 @@ + +puts "========" +puts "OCC745" +puts "========" +puts "" +################################################### +## Exception thrown: Standard_ConstructionError: Offset wire is not closed: +################################################### + +restore [locate_data_file BUC60830-face2.brep] f +puts [checkshape f] + +if { [catch { mkoffset result f 45 -0.042225 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 72.1851 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug745_9 b/tests/bugs/modalg/bug745_9 new file mode 100755 index 0000000000..d56e2b8eb5 --- /dev/null +++ b/tests/bugs/modalg/bug745_9 @@ -0,0 +1,45 @@ +puts "TODO OCC12345 ALL: Error : The command is not valid. The length is" +puts "TODO OCC12345 ALL: Faulty : Result shape is NULL shape" + +puts "========" +puts "OCC745" +puts "========" +puts "" +##################################################### +# The latter command enters an endless loop: it was not completed in 30 min: +##################################################### + +source [locate_data_file OCC745_cont2.dat] +puts [checkshape pq] + +if { [catch { mkoffset result pq 1 -10 } status] } { + puts "Faulty OCC745" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 0 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug748 b/tests/bugs/modalg/bug748 new file mode 100755 index 0000000000..f94d388cdd --- /dev/null +++ b/tests/bugs/modalg/bug748 @@ -0,0 +1,18 @@ + +puts "========" +puts "OCC748" +puts "========" +puts "" +################################## +## Incorrect work of DRAW-command "common" +################################## + +restore [locate_data_file OCC748_1.brep] s1 +puts [checkshape s1] +restore [locate_data_file OCC748_2.brep] s2 +puts [checkshape s2] + +bcommon result s1 s2 + +set square 628.319 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug755_1 b/tests/bugs/modalg/bug755_1 new file mode 100755 index 0000000000..becea231e3 --- /dev/null +++ b/tests/bugs/modalg/bug755_1 @@ -0,0 +1,34 @@ + +puts "========" +puts "OCC755" +puts "SAM1607" +puts "(case 1)" +puts "========" +puts "" +#################################################################### +##Result of cut of capteur2 from capteur1 is a solid. It must be a compound, as it consists of 2 bodies. +#################################################################### + +restore [locate_data_file OCC755_1.brep] a1 +puts [checkshape a1] +restore [locate_data_file OCC755_2.brep] a2 +puts [checkshape a2] + +bcut result a1 a2 + +set wt_is [whatis result] + +set lth [llength $wt_is] + +if {$lth < 5} { + puts "Faulty OCC755 (case 1)" +} else { + if {[regexp {COMPOUND} $wt_is] == 1} { + puts "OCC755 OK (case 2)" + } else { + puts "Faulty OCC755 (case 2)" + } +} + +set square 1.57358e+06 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug758 b/tests/bugs/modalg/bug758 new file mode 100755 index 0000000000..ef4099a84d --- /dev/null +++ b/tests/bugs/modalg/bug758 @@ -0,0 +1,26 @@ + +puts "========" +puts "OCC758" +puts "SAM1613" +puts "========" +puts "" +################################################### +##It's impossible to cut two little shapes from the big one in the attached file. +################################################### + +restore [locate_data_file OCC758.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] +puts [checkshape a_3] + +bcut res1 a_1 a_2 + +puts [checkshape res1] + +bcut result res1 a_3 + +set square 49473.6 +set 2dviewer 0 + + diff --git a/tests/bugs/modalg/bug763 b/tests/bugs/modalg/bug763 new file mode 100755 index 0000000000..6eaaa72479 --- /dev/null +++ b/tests/bugs/modalg/bug763 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC763" +puts "========" +puts "" +#################################### +## Bad result of fuse operation between two cylinders +#################################### + +restore [locate_data_file OCC763_c1.brep] c1 +puts [checkshape c1] +restore [locate_data_file OCC763_c2.brep] c2 +puts [checkshape c2] + +bop c1 c2 +bopfuse result + +set square 23189.4 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug767 b/tests/bugs/modalg/bug767 new file mode 100755 index 0000000000..d53e007c40 --- /dev/null +++ b/tests/bugs/modalg/bug767 @@ -0,0 +1,15 @@ + +puts "=======" +puts "OCC767" +puts "=======" +puts "" +############################################ +## Command sameparametr in DRAW hangs on attached edge. +############################################ + +restore [locate_data_file OCC767.brep] result + +sameparameter result + +set length 7.6901 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug770 b/tests/bugs/modalg/bug770 new file mode 100755 index 0000000000..edb86e467a --- /dev/null +++ b/tests/bugs/modalg/bug770 @@ -0,0 +1,26 @@ +puts "TODO ?OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO ?OCC12345 ALL: Error : The square of result shape is" + +puts "========" +puts "OCC770" +puts "SAM1636" +puts "========" +puts "" +############################ +## Impossible fusing 3 attached shapes +############################ + +restore [locate_data_file OCC770.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] +puts [checkshape a_3] + +bfuse res1 a_1 a_2 + +puts [checkshape res1] + +bfuse result res1 a_3 + +set square 962546. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug771 b/tests/bugs/modalg/bug771 new file mode 100755 index 0000000000..0e48e6f9b8 --- /dev/null +++ b/tests/bugs/modalg/bug771 @@ -0,0 +1,25 @@ + +puts "========" +puts "OCC771" +puts "SAM1639" +puts "========" +puts "" +########################### +## Impossible fusung 3 shapes attached +########################### + +restore [locate_data_file OCC771.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] +puts [checkshape a_3] + +bfuse res1 a_1 a_2 + +puts [checkshape res1] + +bfuse result res1 a_3 + +set square 1306.68 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug772 b/tests/bugs/modalg/bug772 new file mode 100755 index 0000000000..5e7ea72718 --- /dev/null +++ b/tests/bugs/modalg/bug772 @@ -0,0 +1,21 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +puts "========" +puts "OCC772" +puts "SAM1643" +puts "========" +puts "" +###################################### +## Impossible to make a common of the shapes attached. +###################################### + +restore [locate_data_file OCC772.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcommon result a_1 a_2 + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug774_1 b/tests/bugs/modalg/bug774_1 new file mode 100755 index 0000000000..600684ad6c --- /dev/null +++ b/tests/bugs/modalg/bug774_1 @@ -0,0 +1,22 @@ + +puts "========" +puts "OCC774" +puts "SAM1647" +puts "(case 1)" +puts "========" +puts "" +################################# +## It's impossible to cut one shape from another. +################################# + +restore [locate_data_file OCC774.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +if { [catch { bcut result a_1 a_2 } status] } { + puts "Faulty OCC774 (case 1)" +} + +set square 50704.6 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug774_2 b/tests/bugs/modalg/bug774_2 new file mode 100755 index 0000000000..44d9f229a1 --- /dev/null +++ b/tests/bugs/modalg/bug774_2 @@ -0,0 +1,22 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +puts "========" +puts "OCC774" +puts "SAM1647" +puts "(case 2)" +puts "========" +puts "" +################################# +## +restore [locate_data_file OCC774.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +if { [catch { bcut result a_2 a_1 } status] } { + puts "Faulty OCC774 (case 2)" +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug775 b/tests/bugs/modalg/bug775 new file mode 100755 index 0000000000..83e11e5311 --- /dev/null +++ b/tests/bugs/modalg/bug775 @@ -0,0 +1,19 @@ + +puts "========" +puts "OCC775" +puts "SAM1650" +puts "========" +puts "" +############################# +## Impossible to fuse two attached shapes. +############################# + +restore [locate_data_file OCC775.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bfuse result a_1 a_2 + +set square 61146.4 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug776_1 b/tests/bugs/modalg/bug776_1 new file mode 100755 index 0000000000..557fc4388e --- /dev/null +++ b/tests/bugs/modalg/bug776_1 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC776" +puts "SAM1654" +puts "(case 1)" +puts "========" +puts "" +########################################## +## Impossible to cut one shape from another in the attachment +########################################## + +restore [locate_data_file OCC776.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcut result a_1 a_2 + +set square 112637. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug776_2 b/tests/bugs/modalg/bug776_2 new file mode 100755 index 0000000000..2f267bb154 --- /dev/null +++ b/tests/bugs/modalg/bug776_2 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC776" +puts "SAM1654" +puts "(case 2)" +puts "========" +puts "" +########################################## +## Impossible to cut one shape from another in the attachment +########################################## + +restore [locate_data_file OCC776.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcut result a_2 a_1 + +set square 40403.2 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug778_1 b/tests/bugs/modalg/bug778_1 new file mode 100755 index 0000000000..5462cd6d52 --- /dev/null +++ b/tests/bugs/modalg/bug778_1 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC778" +puts "SAM1656" +puts "(case 1)" +puts "========" +puts "" +###################################### +## Incorrect result of cut of the cylinder from the shape. +###################################### + +restore [locate_data_file OCC778.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcut result a_1 a_2 + +set square 13633.6 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug778_2 b/tests/bugs/modalg/bug778_2 new file mode 100755 index 0000000000..ce42192daa --- /dev/null +++ b/tests/bugs/modalg/bug778_2 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC778" +puts "SAM1656" +puts "(case 2)" +puts "========" +puts "" +##################################### +## Incorrect result of cut of the cylinder from the shape +##################################### + +restore [locate_data_file OCC778.brep] a +explode a +puts [checkshape a_1] +puts [checkshape a_2] + +bcut result a_2 a_1 + +set square 678.584 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug779 b/tests/bugs/modalg/bug779 new file mode 100755 index 0000000000..c53e3ca9c8 --- /dev/null +++ b/tests/bugs/modalg/bug779 @@ -0,0 +1,22 @@ + +puts "========" +puts "OCC779" +puts "========" +puts "" +################################ +## Common operation produces invalid shape +################################ + +restore [locate_data_file OCC779_s1.brep] s1 +puts [checkshape s1] +restore [locate_data_file OCC779_s2.brep] s2 +puts [checkshape s2] + +ttranslate s1 0 0 -30 +prism s1p s1 0 0 70 +puts [checkshape s1p] + +bcommon result s1p s2 + +set square 64191.2 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug780_1 b/tests/bugs/modalg/bug780_1 new file mode 100755 index 0000000000..81dc7fdb40 --- /dev/null +++ b/tests/bugs/modalg/bug780_1 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC780" +puts "SAM1239" +puts "(case 1)" +puts "========" +puts "" +######################################### +## Fuse and common between two faces are wrong (SAM1239) +######################################### + +restore [locate_data_file OCC780.brep] f +explode f f +puts [checkshape f_1] +puts [checkshape f_2] + +bcommon result f_1 f_2 + +set square 6283.19 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug780_2 b/tests/bugs/modalg/bug780_2 new file mode 100755 index 0000000000..4b72b48bd7 --- /dev/null +++ b/tests/bugs/modalg/bug780_2 @@ -0,0 +1,20 @@ + +puts "========" +puts "OCC780" +puts "SAM1239" +puts "(case 2)" +puts "========" +puts "" +######################################### +## Fuse and common between two faces are wrong (SAM1239) +######################################### + +restore [locate_data_file OCC780.brep] f +explode f f +puts [checkshape f_1] +puts [checkshape f_2] + +bfuse result f_1 f_2 + +set square 12566.4 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug788_1 b/tests/bugs/modalg/bug788_1 new file mode 100755 index 0000000000..7bf800cefb --- /dev/null +++ b/tests/bugs/modalg/bug788_1 @@ -0,0 +1,20 @@ + +puts "=========" +puts " OCC788 " +puts "=========" +puts "" +################################################# +## ThruSection cannot determine correctly correspondence between wires +################################################# +restore [locate_data_file OCC788_s1w.brep] w1 +explode w1 +wire ww1 w1_1 + +restore [locate_data_file OCC788_s2w.brep] w2 +explode w2 +wire ww2 w2_1 + +thrusections result 0 0 ww1 ww2 + +set 2dviewer 0 +set square 148608. diff --git a/tests/bugs/modalg/bug788_2 b/tests/bugs/modalg/bug788_2 new file mode 100755 index 0000000000..cbb20238b1 --- /dev/null +++ b/tests/bugs/modalg/bug788_2 @@ -0,0 +1,24 @@ + +puts "=========" +puts " OCC788 " +puts "=========" +puts "" +################################################## +## ThruSection cannot determine correctly correspondence between wires +################################################## + +restore [locate_data_file OCC788_s1w.brep] w1 +explode w1 +wire ww1 w1_1 + +restore [locate_data_file OCC788_s2w.brep] w2 +explode w2 +wire ww2 w2_1 + + +thrusections result 0 0 ww1 ww2 + +puts "It necessary to analyse the photo" + +set 2dviewer 0 +set square 148608. diff --git a/tests/bugs/modalg/bug789 b/tests/bugs/modalg/bug789 new file mode 100755 index 0000000000..59e95ec2d2 --- /dev/null +++ b/tests/bugs/modalg/bug789 @@ -0,0 +1,25 @@ + +puts "=========" +puts " OCC789 " +puts "=========" +puts "" +######################################################## +## When working on 2 closed wires (each of 1 edge), the thrusection algorithm creates +## a surface with isolines which oscillate in longitudinal direction somewhere in the +## middle between end sections. +######################################################## + +restore [locate_data_file OCC789_s3.brep] w1 +explode w1 +wire ww1 w1_1 + +restore [locate_data_file OCC789_s4.brep] w2 +explode w2 +wire ww2 w2_1 + +thrusections result 0 0 ww1 ww2 + +puts "It necessary to analyse the photo" + +set square 142424. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug794 b/tests/bugs/modalg/bug794 new file mode 100755 index 0000000000..dcbbebcb76 --- /dev/null +++ b/tests/bugs/modalg/bug794 @@ -0,0 +1,28 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "=========" +puts " OCC794 " +puts "=========" +puts "" +##################################################### +## The offset algorithm produced invalid result when offseting an attached face +##################################################### + +pload QAcommands + +restore [locate_data_file OCC794.brep] a + +offsetshape result a 10 + +set x_coord 120 +set y_coord 150 + +vinit +vdisplay result +vsetdispmode 1 +vfit +QAUpdateLights + +checkcolor $x_coord $y_coord 0.77 0.54 0.09 + +set square 206399 +set 3dviewer 1 diff --git a/tests/bugs/modalg/bug822_1 b/tests/bugs/modalg/bug822_1 new file mode 100755 index 0000000000..1369da38f3 --- /dev/null +++ b/tests/bugs/modalg/bug822_1 @@ -0,0 +1,25 @@ +pload QAcommands + +puts "========" +puts "OCC822" +puts "========" +puts "" +##################################### +## BRepMesh_IncrementalMesh fails on some faces +##################################### + +if { [ catch { set info_result [OCC822_1 a1 a2 result] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${info_result} FAILED] > -1 } { + puts "Faulty : command was FAILED" + } + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 133931 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug822_2 b/tests/bugs/modalg/bug822_2 new file mode 100755 index 0000000000..51577211de --- /dev/null +++ b/tests/bugs/modalg/bug822_2 @@ -0,0 +1,25 @@ +pload QAcommands + +puts "=======" +puts "OCC822" +puts "=======" +puts "" +##################################### +## BRepMesh_IncrementalMesh fails on some faces +##################################### + +if { [ catch { set info_result [OCC822_2 a1 a2 result] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${info_result} FAILED] > -1} { + puts "Faulty : commands was FAILED" + } + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 61963.5 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug823 b/tests/bugs/modalg/bug823 new file mode 100755 index 0000000000..e97833fe97 --- /dev/null +++ b/tests/bugs/modalg/bug823 @@ -0,0 +1,26 @@ +pload QAcommands + +puts "=======" +puts "OCC823" +puts "=======" +puts "" +############################### +## BRepAlgoAPI_Fuse fails on two cylinders +############################### + +if { [ catch { set info_result [OCC823 a1 a2 result] } ] } { + puts "Faulty : an exception was caught" +} else { + + if { [lsearch ${info_result} FAILED] > -1} { + puts "Faulty : commands was FAILED" + } + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 23189.5 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug823_1 b/tests/bugs/modalg/bug823_1 new file mode 100755 index 0000000000..be10051aa7 --- /dev/null +++ b/tests/bugs/modalg/bug823_1 @@ -0,0 +1,30 @@ +pload QAcommands + +puts "============" +puts "OCC823" +puts "============" +puts "" +################################ +## BRepAlgoAPI_Fuse fails on two cylinders +################################ +## +## Note: test for old topology +## +################################ + +if { [ catch { set info_result [OCC823 a1 a2 a3] } ] } { + puts "Faulty : exception was caught" +} else { + puts [checkshape a1] + puts [checkshape a2] + bfuse result a1 a2 + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 23189.5 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug824 b/tests/bugs/modalg/bug824 new file mode 100755 index 0000000000..c49b28d4de --- /dev/null +++ b/tests/bugs/modalg/bug824 @@ -0,0 +1,25 @@ +pload QAcommands + +puts "============" +puts "OCC824" +puts "============" +puts "" +#################################### +## BRepAlgoAPI_Fuse fails on cylinder and sphere +#################################### + +if { [ catch { set info_result [OCC824 a1 a2 result] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${result} FAILED] > -1} { + puts "Faulty : command was FAILED" + } + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 16336.3 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug824_1 b/tests/bugs/modalg/bug824_1 new file mode 100755 index 0000000000..bbe54e7f46 --- /dev/null +++ b/tests/bugs/modalg/bug824_1 @@ -0,0 +1,30 @@ +pload QAcommands + +puts "=======" +puts "OCC824" +puts "=======" +puts "" +#################################### +## BRepAlgoAPI_Fuse fails on cylinder and sphere +#################################### +## +## Note: test for old topology +## +################################ + +if { [ catch { set info_result [OCC824 a1 a2 a3] } ] } { + puts "Faulty : exception was catch" +} else { + puts [checkshape a1] + puts [checkshape a2] + bfuse result a1 a2 + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 16336.3 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug825 b/tests/bugs/modalg/bug825 new file mode 100755 index 0000000000..bc45a425c6 --- /dev/null +++ b/tests/bugs/modalg/bug825 @@ -0,0 +1,37 @@ +puts "TODO OCC12345 ALL: Faulty : command was FAILED" +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +pload QAcommands + +puts "============" +puts "OCC825" +puts "============" +puts "" +###################################### +## BRepAlgoAPI_Cut fails on sphere and b-spline face +###################################### + +if { [ catch { set info_result [OCC825 a1 a2 a3 result1 result2] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${info_result} FAILED] > -1} { + puts "Faulty : command was FAILED" + } + puts [checkshape result1] + puts [checkshape result2] + + set ExplodeList [explode result1] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + set ExplodeList [explode result2] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + + renamevar result1 result +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug825_1 b/tests/bugs/modalg/bug825_1 new file mode 100755 index 0000000000..acf250a6bd --- /dev/null +++ b/tests/bugs/modalg/bug825_1 @@ -0,0 +1,31 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The square of result shape is" + +pload QAcommands + +puts "=======" +puts "OCC825" +puts "=======" +puts "" +###################################### +## BRepAlgoAPI_Cut fails on sphere and b-spline face +###################################### +## +## Note: test for old topology +## +################################ + +if { [ catch { set info_result [OCC825 a1 a2 a3 a4 a5] } ] } { + puts "Faulty : an exception was caught" +} else { + puts [checkshape a1] + puts [checkshape a2] + bcut result a2 a1 + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug825_2 b/tests/bugs/modalg/bug825_2 new file mode 100755 index 0000000000..cc425d1bb3 --- /dev/null +++ b/tests/bugs/modalg/bug825_2 @@ -0,0 +1,32 @@ +pload QAcommands +puts "TODO OCC12345 ALL: Error : The square of result shape is" +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" + +puts "========" +puts "OCC825" +puts "========" +puts "" +###################################### +## BRepAlgoAPI_Cut fails on sphere and b-spline face +###################################### +## +## Note: test for old topology +## +################################ + +if { [ catch { set info_result [OCC825 a1 a2 a3 a4 a5] } ] } { + puts "Faulty : an exception was caught" +} else { + puts [checkshape a1] + puts [checkshape a3] + + bcut result a3 a1 + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug826 b/tests/bugs/modalg/bug826 new file mode 100755 index 0000000000..4093fa36e4 --- /dev/null +++ b/tests/bugs/modalg/bug826 @@ -0,0 +1,24 @@ +pload QAcommands + +puts "============" +puts "OCC826" +puts "============" +puts "" +################################### +## BRepAlgoAPI_Fuse fails on revolved and sphere +################################### + +if { [ catch { set info_result [OCC826 a1 a2 result] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${info_result} FAILED] > -1} { + puts "Faulty : command was FAILED" + } + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 272939 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug826_1 b/tests/bugs/modalg/bug826_1 new file mode 100755 index 0000000000..d2bd7b0808 --- /dev/null +++ b/tests/bugs/modalg/bug826_1 @@ -0,0 +1,29 @@ +pload QAcommands + +puts "============" +puts "OCC826" +puts "============" +puts "" +################################### +## BRepAlgoAPI_Fuse fails on revolved and sphere +################################### +## +## Note: test for old topology +## +################################ + +if { [ catch { set result [OCC826 a1 a2 a3] } ] } { + puts "Faulty : an exception was caught" +} else { + puts [checkshape a1] + puts [checkshape a2] + bfuse result a1 a2 + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 272939 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug827 b/tests/bugs/modalg/bug827 new file mode 100755 index 0000000000..1b779e6ff3 --- /dev/null +++ b/tests/bugs/modalg/bug827 @@ -0,0 +1,45 @@ +pload QAcommands + +puts "========" +puts "OCC827" +puts "========" +puts "" +################################### +## BRepAlgoAPI_Fuse fails on cylinder and torus +################################### + +# +# a1 - Cylinder +# a2 - Torus1 +# a3 - Torus1 +# res1 - Fuse(Torus1 & Cylinder) +# res2 - Fuse(Torus2 & res1) +# + +if { [ catch { set info_result [OCC827 a1 a2 a3 result1 result2] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${info_result} FAILED] > -1} { + puts "Faulty OCC827 (case 1)" + } + puts [checkshape a1] + puts [checkshape a2] + puts [checkshape a3] + puts [checkshape result1] + puts [checkshape result2] + + set ExplodeList [explode result1] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + + set ExplodeList [explode result2] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + + renamevar result2 result +} + +set square 11847.7 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug827_1 b/tests/bugs/modalg/bug827_1 new file mode 100755 index 0000000000..ebfdefc660 --- /dev/null +++ b/tests/bugs/modalg/bug827_1 @@ -0,0 +1,50 @@ +pload QAcommands + +puts "=======" +puts "OCC827" +puts "=======" +puts "" +#################################### +## BRepAlgoAPI_Fuse fails on cylinder and torus +#################################### +## +## Note: test for old topology +## +################################ + +set status 1 + +# +# a1 - Cylinder +# a2 - Torus1 +# a3 - Torus1 +# res1 - Fuse(Torus1 & Cylinder) +# res2 - Fuse(Torus2 & res1) +# + +if [ catch { set info_result [OCC827 a1 a2 a3 a4 a5] } ] { + puts "Faulty OCC827 (case 0)" +} else { + puts [checkshape a1] + puts [checkshape a2] + puts [checkshape a3] + bfuse result1 a1 a2 + puts [checkshape result1] + + set ExplodeList [explode result1] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + + bfuse result2 result1 a3 + puts [checkshape result2] + + set ExplodeList [explode result2] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + renamevar result2 result +} + +set square 11847.7 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug827_2 b/tests/bugs/modalg/bug827_2 new file mode 100755 index 0000000000..ce69873d05 --- /dev/null +++ b/tests/bugs/modalg/bug827_2 @@ -0,0 +1,47 @@ +pload QAcommands + +puts "=======" +puts "OCC827" +puts "=======" +puts "" +#################################### +## BRepAlgoAPI_Fuse fails on cylinder and torus +#################################### +## +## Note: test for old topology +## +################################ + +# +# a1 - Cylinder +# a2 - Torus1 +# a3 - Torus1 +# res1 - Fuse(Torus1 & Cylinder) +# res2 - Fuse(Torus2 & res1) +# + +if { [ catch { set info_result [OCC827 a1 a2 a3 a4 a5] } ] } { + puts "Faulty an exception was caught" +} else { + puts [checkshape a1] + puts [checkshape a2] + puts [checkshape a3] + bfuse result1 a2 a1 + puts [checkshape result1] + set ExplodeList [explode result1] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + bfuse result2 a3 result1 + puts [checkshape result2] + + set ExplodeList [explode result2] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } + + renamevar result2 result +} + +set square 11847.7 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug828 b/tests/bugs/modalg/bug828 new file mode 100755 index 0000000000..8f13851ab7 --- /dev/null +++ b/tests/bugs/modalg/bug828 @@ -0,0 +1,28 @@ +pload QAcommands + +puts "========" +puts "OCC828" +puts "========" +puts "" +############################### +## BRepFilletAPI_MakeFillet fails on prism +############################### + +if { [ catch { set info_result [OCC828 a1] } ] } { + puts "Faulty : an exception was caught" +} else { + if { [lsearch ${info_result} FAILED] > -1} { + puts "Faulty : command was FAILED" + } + puts [checkshape a1] + explode a1 e + blend result a1 10 a1_7 10 a1_6 + + set ExplodeList [explode result] + if {[llength ${ExplodeList}] < 1} { + puts "Faulty : Resulting shape is empty COMPOUND" + } +} + +set square 17816.2 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug829_1 b/tests/bugs/modalg/bug829_1 new file mode 100755 index 0000000000..213f77bbd5 --- /dev/null +++ b/tests/bugs/modalg/bug829_1 @@ -0,0 +1,49 @@ +puts "TODO OCC12345 ALL: An exception was caught" +puts "TODO OCC12345 ALL: Exception" +puts "TODO OCC12345 ALL: Error : The command can not be build." + +puts "========" +puts "OCC829" +puts "========" +puts "" +################################### +## BRepOffsetAPI_MakeOffset fails on given wires +################################### +puts " This part - LIMITATION for existed algorithms" +################################### + +restore [locate_data_file OCC829_w1.brep] a +puts [checkshape a] +explode a w + +if { [catch { mkoffset result a_1 1 5 } status] } { + puts "Faulty : An exception was caught" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 0 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug829_2 b/tests/bugs/modalg/bug829_2 new file mode 100755 index 0000000000..c17d8c909e --- /dev/null +++ b/tests/bugs/modalg/bug829_2 @@ -0,0 +1,43 @@ + +puts "========" +puts "OCC829" +puts "========" +puts "" +################################### +## BRepOffsetAPI_MakeOffset fails on given wires +################################### +restore [locate_data_file OCC829_w2.brep] a +puts [checkshape a] +explode a w + +if { [catch { mkoffset result a_1 1 5 } status] } { + puts "Faulty OCC829 (case 1)" +} else { + renamevar result_1 result + set nb_info [nbshapes result] + regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve + puts [format "Result shape result contains %s vertexes" $ve] + if { $ve == 0 } { + puts [format "Faulty : Result shape is NULL shape"] + } else { + regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi + if {$wi > 1 } { + set ll [explode result w] + set num [llength $ll] + puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num] + foreach {k} $ll { + puts [checkshape $k] + regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs + if { $cs != 0 } { + puts [format "Faulty : Result shape is UNclosed wire !!! " $k] + } else { + puts [format "OK: Result shape is CLOSED wire !!! "] + } + } + } + } +} + +set length 3690.75 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug890 b/tests/bugs/modalg/bug890 new file mode 100755 index 0000000000..5ef128ee70 --- /dev/null +++ b/tests/bugs/modalg/bug890 @@ -0,0 +1,22 @@ + +puts "=======" +puts "OCC890" +puts "SAM1681" +puts "=======" +puts "" +############################## +## No possibility to fuse the attached prisms. +############################## + +restore [locate_data_file OCC890.brep] a +explode a + +puts [checkshape a_1] +puts [checkshape a_2] + +if { [ catch { bfuse result a_1 a_2 } catch_result ] } { + puts "Faulty OCC890 (case 3)" +} + +set square 1.8276e+06 +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug895 b/tests/bugs/modalg/bug895 new file mode 100755 index 0000000000..a015c8f192 --- /dev/null +++ b/tests/bugs/modalg/bug895 @@ -0,0 +1,58 @@ +puts "============" +puts "OCC895" +puts "============" +puts "" +######################################################### +## In one case, twisted surface is created. +## The problem is in incorrect computation of mutual orientations of wire segments. +######################################################### + +pload QAcommands + +set scale 73.609 +set center_X 7.93702 +set center_Y 0.264503 +set proj_X 0.523995 +set proj_Y 0.359655 +set proj_Z 0.77206 +set up_X -0.739036 +set up_Y -0.258607 +set up_Z 0.622051 +set at_X 9.06773 +set at_Y -1.93771 +set at_Z 1.45124 + +set x_coord 210 +set y_coord 210 + +set status 0 + +set angle 5 +set reverse 0 +set order 0 + +if { [ catch { OCC895 result ${angle} ${reverse} ${order} } ] } { + puts "Faulty : an exception was caught" +} + +if { ${status} == 0} { + vinit + vsetdispmode 1 + vdisplay result + + QASetViewCharac ${scale} ${center_X} ${center_Y} \ + ${proj_X} ${proj_Y} ${proj_Z} \ + ${up_X} ${up_Y} ${up_Z} \ + ${at_X} ${at_Y} ${at_Z} + + QAUpdateLights + + checkcolor $x_coord $y_coord 0.98 0.72 0.13 + + if { ${stat} != 1 } { + puts "Faulty OCC895 (case 2)" + } +} + +set square 18.1614 +set 3dviewer 1 diff --git a/tests/bugs/modalg/bug910 b/tests/bugs/modalg/bug910 new file mode 100755 index 0000000000..97f71ff58f --- /dev/null +++ b/tests/bugs/modalg/bug910 @@ -0,0 +1,50 @@ +#INTERFACE DXF +puts "============" +puts "OCC910" +puts "============" +puts "" +##################################################### +## The problem with sat files depends on problem of BRepTools_WireExplorer +##################################################### + +pload XDE +catch { source $env(CSF_DrawPluginQADefaults)/QARebuildCommands } + +restore [locate_data_file OCC910.rle] a + +puts [checkshape a] +explode a w +puts [checkshape a_7] + +set list1 [expwire a_7] +regexp {TopoDS_Iterator\(EDGE\) donne ([-0-9.+eE]+) Edges} $list1 full TopoDS_Iterator1 +regexp {TopExp_Explorer\(EDGE\) donne ([-0-9.+eE]+) Edges} $list1 full TopExp_Explorer1 +regexp {BRepTools_WireExplorer donne ([-0-9.+eE]+) Edges} $list1 full BRepTools_WireExplorer1 + + +set list2 [expwire a_7 a] +regexp {TopoDS_Iterator\(EDGE\) donne ([-0-9.+eE]+) Edges} $list1 full TopoDS_Iterator2 +regexp {TopExp_Explorer\(EDGE\) donne ([-0-9.+eE]+) Edges} $list1 full TopExp_Explorer2 +regexp {BRepTools_WireExplorer donne ([-0-9.+eE]+) Edges} $list1 full BRepTools_WireExplorer2 + +puts "TopoDS_Iterator1 = ${TopoDS_Iterator1}" +puts "TopExp_Explorer1 = ${TopExp_Explorer1}" +puts "BRepTools_WireExplorer1 = ${BRepTools_WireExplorer1}" + +puts "TopoDS_Iterator2 = ${TopoDS_Iterator2}" +puts "TopExp_Explorer2 = ${TopExp_Explorer2}" +puts "BRepTools_WireExplorer2 = ${BRepTools_WireExplorer2}" + +if { ${TopoDS_Iterator1} != ${TopoDS_Iterator2} || \ + ${TopExp_Explorer1} != ${TopExp_Explorer2} || \ + ${BRepTools_WireExplorer1} != ${BRepTools_WireExplorer2} } { + puts "Faulty OCC910" +} else { + puts "OCC910 OK" +} + +renamevar a_7 result + +set length 149.816 +set 2dviewer 0 + diff --git a/tests/bugs/modalg/bug919 b/tests/bugs/modalg/bug919 new file mode 100755 index 0000000000..86dcfdd4cc --- /dev/null +++ b/tests/bugs/modalg/bug919 @@ -0,0 +1,33 @@ + +puts "=======" +puts "OCC919" +puts "SAM1623" +puts "=======" +puts "" +############################# +## Impossible to fuse the shapes. +############################## + +restore [locate_data_file OCC919.brep] a + +explode a + +# See comment in CR23244: +restore [locate_data_file OCC919-PROC.brep] a_1 +# + +puts [checkshape a_1] +puts [checkshape a_2] + +if { [ catch { bfuse result a_1 a_2} catch_result ] } { + puts "Faulty OCC919 (case 1)" +} else { + if { [ catch { checkshape result } catch_result ] } { + puts "Faulty OCC919 (case 2)" + } else { + puts "OCC919 OK" + } +} + +set square 272591. +set 2dviewer 0 diff --git a/tests/bugs/modalg/bug957 b/tests/bugs/modalg/bug957 new file mode 100755 index 0000000000..58e157bbf8 --- /dev/null +++ b/tests/bugs/modalg/bug957 @@ -0,0 +1,15 @@ +puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_" +puts "TODO OCC12345 ALL: Error : The length of result shape is" + +puts "========" +puts "OCC957" +puts "========" +puts "" +############################################################## +##Draw function PSPHERE creates incorrect shape (according to CHECKSHAPE function) +############################################################## + +psphere result 10 10 10 + +set length 0 +set 2dviewer 0 diff --git a/tests/bugs/modalg/dxf906 b/tests/bugs/modalg/dxf906 new file mode 100755 index 0000000000..5e04861d64 --- /dev/null +++ b/tests/bugs/modalg/dxf906 @@ -0,0 +1,19 @@ + +puts "=======" +puts "DXF906" +puts "OCC889" +puts "OCC1013" +puts "=======" +puts "" +######################################################### +## After fix OCC157 we have plane surface in face (instead bspline as in C40). +## But now checkshape founds number of errors on new face. I think that face from +## c40 is not better than in dev +######################################################### + +restore [locate_data_file DXF906.rle] a + +mkplane result a + +set square 92131.6 +set 2dviewer 0 diff --git a/tests/bugs/modalg/pro18892 b/tests/bugs/modalg/pro18892 old mode 100644 new mode 100755 index 89cbce0674..c556689116 --- a/tests/bugs/modalg/pro18892 +++ b/tests/bugs/modalg/pro18892 @@ -26,7 +26,7 @@ distmini d v a_8 set tol [ maxtolerance a_8 ] regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol full MaxEdgeTolerance regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol full MaxVertexTolerance -regexp {([-0-9.+eE]+)} [dump d_val] full d +regexp {([-0-9.+eE]+)$} [dump d_val] full d if { [expr $d > $MaxEdgeTolerance] || [expr $d > $MaxVertexTolerance] } { puts "Faulty : Result is BAD. Distance is more than MaxTolerance" diff --git a/tests/bugs/moddata/bug566 b/tests/bugs/moddata/bug566 new file mode 100755 index 0000000000..586f59c32b --- /dev/null +++ b/tests/bugs/moddata/bug566 @@ -0,0 +1,43 @@ +pload QAcommands + +puts "========" +puts "OCC566" +puts "========" +puts "" +############################################### +##BRepBndLib::AddClose builds box larger than BRepBndLib::Add +############################################### + +restore [locate_data_file OCC566.brep] a + +set err1 [bounding a] +set err2 [OCC566 a] + +regexp { *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+)} $err1 full v1_x v1_y v1_z v2_x v2_y v2_z +regexp { *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+)} $err2 full v3_x v3_y v3_z v4_x v4_y v4_z + +vertex v1 $v1_x $v1_y $v1_z +vertex v2 $v2_x $v2_y $v2_z + +vertex v3 $v3_x $v3_y $v3_z +vertex v4 $v4_x $v4_y $v4_z + +distmini d1 v1 v2 +distmini d2 v3 v4 + +regexp {([-0-9.+eE]+)$} [dump d1_val] full dis1 +puts $dis1 +regexp {([-0-9.+eE]+)$} [dump d2_val] full dis2 +puts $dis2 + +set err [expr 1.*abs((($dis1 - $dis2) / $dis2) * 100)] +puts "" +puts [format "Different is %s percents" $err] + +if {$err > 1.0} { + puts " Faulty OCC566: BRepBndLib::AddClose builds box larger than BRepBndLib::Add - this should not be so!" +} else { + puts " OCC566 OK" +} + +set 2dviewer 0 diff --git a/tests/bugs/moddata/bug592 b/tests/bugs/moddata/bug592 new file mode 100755 index 0000000000..dd05d32f68 --- /dev/null +++ b/tests/bugs/moddata/bug592 @@ -0,0 +1,43 @@ +puts "TODO OCC12345 ALL: Faulty OCC592 : Checkshape BRepCheck_Analyzer does not detect faulty shape" + +puts "========================" +puts " OCC592 " +puts "========================" +puts "" +################################### +##BRepCheck_Analyzer does not detect faulty shape +##################################### + +restore [locate_data_file OCC592.brep] ff114 + +explode ff114 e +mkcurve cc ff114_8 +cvalue cc 0.95 x y z +vertex vv x y z +mksurface gs ff114 +mkface ff gs +donl ff114 vv +trim trcc cc +set aa [distmini dd vv ff] + +puts "******* Result *******" +regexp {([-0-9.+eE]+)$} [dump dd_val] full dis1 +puts "distance between the point on curve and the surface is $dis1" + +set tolerance [maxtolerance ff114_8] +regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance +puts "the tolerance of the edge is $MaxEdgeTolerance" +puts "the tolerance is less than distance between point and surface" +puts "BUT" + +decho off +set che [checkshape ff114] +decho on + +if { [regexp {Faulty} $che] != 1 } { + puts "Faulty OCC592 : Checkshape BRepCheck_Analyzer does not detect faulty shape" +} else { + puts "OCC592 OK: Checkshape (BRepCheck_Analyzer) detects bad shape" +} + +set 2dviewer 0 diff --git a/tests/bugs/moddata/bug618 b/tests/bugs/moddata/bug618 new file mode 100755 index 0000000000..f061aa66a2 --- /dev/null +++ b/tests/bugs/moddata/bug618 @@ -0,0 +1,21 @@ + +puts "========================" +puts "OCC618" +puts "========================" +puts "" +############################ +## Exception during bop +############################ + +restore [locate_data_file OCC618a.brep] a +puts [checkshape a] +restore [locate_data_file OCC618b.brep] b +puts [checkshape b] + +if [catch {bop a b} catch_result] { + puts "Faulty OCC618 : BOP operation was made wrongly" +} else { + puts "OCC618 OK: BOP operation works OK" +} + +set 2dviewer 0 diff --git a/tests/bugs/moddata/bug705 b/tests/bugs/moddata/bug705 new file mode 100755 index 0000000000..a440a10d10 --- /dev/null +++ b/tests/bugs/moddata/bug705 @@ -0,0 +1,31 @@ + +puts "==========" +puts "OCC705 " +puts "==========" +puts "" +########################################################### +## The matrix of inertia for sphere computed incorrectly. +## In the secod case the not diagonal elements of the inertia matrix are not close to zero. +########################################################### + +psphere result 10 10 10 +ttranslate result 10 10 10 +trotate result 0 0 0 0 1 1 34 + +set list [vprops result] +set inertia [regexp -all -inline { +[-0-9.+eE]+ +[-0-9.+eE]+ +[-0-9.+eE]+} $list] +set matrix [regexp -all -inline {[-0-9.+eE]+} $inertia] + +set matrix12 [lindex $matrix 1] +set matrix21 [lindex $matrix 3] +set matrix23 [lindex $matrix 5] +set matrix32 [lindex $matrix 7] + +if { ${matrix12} != 0. || ${matrix21} != 0. || ${matrix23} != 0. || ${matrix32} != 0. } { + puts "Faulty OCC705" +} else { + puts "OCC705 OK" +} + +set length 123.755 +set 2dviewer 0 diff --git a/tests/bugs/moddata/bug712_2 b/tests/bugs/moddata/bug712_2 new file mode 100755 index 0000000000..74870a8aba --- /dev/null +++ b/tests/bugs/moddata/bug712_2 @@ -0,0 +1,22 @@ +pload QAcommands + +puts "========" +puts "OCC712" +puts "========" +puts "" +############################################################ +## Exeption is raised in DRAW during building draft with help command "depouille" +## on face in the attached shape. +## The source code of application is also attached and should be checked. +############################################################ + +set draftAngle 15 +set slabThick 30 + +if [catch {OCC712 ${draftAngle} ${slabThick} } catch_result] { + puts "Faulty OCC712" +} else { + puts "OCC712 OK" +} + +set 2dviewer 0 diff --git a/tests/bugs/vis/bug112 b/tests/bugs/vis/bug112 index f29345b877..6ac758cd70 100755 --- a/tests/bugs/vis/bug112 +++ b/tests/bugs/vis/bug112 @@ -8,18 +8,8 @@ puts "" ## meshing is computed again when displaying it. ############################################################### -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 77647 - set gr_ch 54901 - set bl_ch 9019 -} else { - set rd_ch 78039 - set gr_ch 55294 - set bl_ch 9411 -} +set x_coord 140 +set y_coord 115 restore [locate_data_file OCC20.brep] result tclean result @@ -29,18 +19,7 @@ vfit vsetdispmode result 1 QAUpdateLights -set color [QAGetPixelColor 140 115] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl - -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] - -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" -} +checkcolor $x_coord $y_coord 0.77 0.54 0.9 set only_screen 1 diff --git a/tests/bugs/vis/bug112_1 b/tests/bugs/vis/bug112_1 index 180858c3f0..3fb9064ceb 100755 --- a/tests/bugs/vis/bug112_1 +++ b/tests/bugs/vis/bug112_1 @@ -10,7 +10,7 @@ set first [trinfo res] tclean res ###################################################################### -catch {exec rm ${imagedir}/vrem.brep} +catch {file delete ${imagedir}/vrem.brep} save res ${imagedir}/vrem.brep vinit diff --git a/tests/bugs/vis/bug128 b/tests/bugs/vis/bug128 index 5ce933b3aa..801c7a716b 100755 --- a/tests/bugs/vis/bug128 +++ b/tests/bugs/vis/bug128 @@ -5,34 +5,14 @@ puts "================" ## The shading is false: objects seem to be situated in front of the others while they are behind. ############################################################### -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 43137 - set gr_ch 48235 - set bl_ch 54117 -} else { - set rd_ch 43137 - set gr_ch 48235 - set bl_ch 54509 -} +set x_coord 171 +set y_coord 171 vinit OCC128 QASetViewCharac 4.9487928 89.23589 4.1505 0.7329295 0.59461397 0.33052679 -0.536849 0.2071041 0.81786 71.971878 -17.250309 33.509651 QAUpdateLights -set color [QAGetPixelColor 171 171] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] - -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : The shading is false. Colors are not equal" -} +checkcolor $x_coord $y_coord 0.43 0.48 0.54 set only_screen 1 diff --git a/tests/bugs/vis/bug136 b/tests/bugs/vis/bug136 index 382a241595..38ce586b9b 100755 --- a/tests/bugs/vis/bug136 +++ b/tests/bugs/vis/bug136 @@ -1,26 +1,16 @@ -puts "TODO OCC12345 ALL: Error : colors are not equal" -puts "TODO OCC12345 ALL: Error : 3D Viewer is empty" - +puts "TODO OCC12345 ALL: Error : Colors are not equal in default coordinate and in the near coordinates too" puts "================" puts "OCC136" puts "================" +set x_coord 211 +set y_coord 215 + vinit OCC136 vfit -set rd_ch 0.8 -set gr_ch 0.8 -set bl_ch 0.8 - -set color [QAGetPixelColor 211 215] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl -if { ${rd} != ${rd_ch} || ${gr} != ${gr_ch} || ${bl} != ${bl_ch} } { - puts "Error : colors are not equal" - puts "Error : 3D Viewer is empty" -} +checkcolor $x_coord $y_coord 0.8 0.8 0.8 set only_screen 1 diff --git a/tests/bugs/vis/bug138_1 b/tests/bugs/vis/bug138_1 index 8a5c655778..e26ee4d816 100755 --- a/tests/bugs/vis/bug138_1 +++ b/tests/bugs/vis/bug138_1 @@ -1,4 +1,3 @@ - puts "========" puts "OCC138" puts "========" diff --git a/tests/bugs/vis/bug146 b/tests/bugs/vis/bug146 index 5da598b321..487f828da5 100755 --- a/tests/bugs/vis/bug146 +++ b/tests/bugs/vis/bug146 @@ -1,4 +1,3 @@ - puts "================" puts "OCC146" puts "================" @@ -16,33 +15,15 @@ QASelect2d 155 180 QASelect2d 155 180 QASelect2d 155 180 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 155 - set y1 180 -} else { - set x1 155 - set y1 177 -} - -set rd_ch 80000 -set gr_ch 80000 -set bl_ch 80000 - -set color [QAAISGetPixelColor2d ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set coord_x 155 +set coord_y 177 +set color2d 1 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $coord_x $coord_y 0.8 0.8 0.8 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : The second selection of selected object deselects it and the following clicks have no effect" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug153 b/tests/bugs/vis/bug153 index d9dc7e4476..1bd40ee629 100755 --- a/tests/bugs/vis/bug153 +++ b/tests/bugs/vis/bug153 @@ -1,4 +1,3 @@ - puts "========================" puts "OCC153" puts "========================" @@ -13,6 +12,7 @@ repeat 23 { if [catch { v2dsetbg [locate_data_file OCC153.gif] } res] { puts [format "%s ) Faulty OCC153: here is problem with v2dsetbg command" $j] } else { - puts [format "%s ) : OCC153 OK" $j] + puts [format "%s ) : OCC153 OK" $j] } - incr j} + incr j + } diff --git a/tests/bugs/vis/bug154_1 b/tests/bugs/vis/bug154_1 index 1394b4526a..7446630a42 100755 --- a/tests/bugs/vis/bug154_1 +++ b/tests/bugs/vis/bug154_1 @@ -16,26 +16,24 @@ v2dfit v2deraseall -set color1 [QAAISGetPixelColor2d 370 37] -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 +set x_coord 370 +set y_coord 37 +set color2d 1 -if { ${rd1} != 0 || ${gr1} != 0 || ${bl1} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 0 0 0 + +if { $stat != 1 } { puts "Error : Object was not erased" } v2ddisplayall -set color2 [QAAISGetPixelColor2d 370 37] -regexp {RED +: +([-0-9.+eE]+)} $color2 full rd2 -regexp {GREEN +: +([-0-9.+eE]+)} $color2 full gr2 -regexp {BLUE +: +([-0-9.+eE]+)} $color2 full bl2 +checkcolor $x_coord $y_coord 1 1 0 -if { ${rd2} != 1 || ${gr2} != 1 || ${bl1} != 0 } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Object was not displayed" } set only_screen2d 1 + + diff --git a/tests/bugs/vis/bug154_2 b/tests/bugs/vis/bug154_2 index bdb1ec48a6..1f9b99f63b 100755 --- a/tests/bugs/vis/bug154_2 +++ b/tests/bugs/vis/bug154_2 @@ -17,15 +17,16 @@ v2dfit v2derase b1 -set color [QAAISGetPixelColor2d 370 37] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 370 +set y_coord 37 +set color2d 1 -if { ${rd} != 0 || ${gr} != 0 || ${bl} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 0 0 0 + +if { $stat != 1 } { puts "Object was not erased" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug155_1 b/tests/bugs/vis/bug155_1 index 9172176fd4..731a0cb2bd 100755 --- a/tests/bugs/vis/bug155_1 +++ b/tests/bugs/vis/bug155_1 @@ -15,14 +15,15 @@ v2ddisplay v_v v2ddisplay v_v1 v2dfit -set color [QAAISGetPixelColor2d 405 7] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 405 +set y_coord 7 +set color2d 1 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 1 1 0 + +if { $stat != 1 } { puts "Error : Vertexes 2D were NOT LOADED properly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug155_2 b/tests/bugs/vis/bug155_2 index 690ae297f9..0d7c9b1c68 100755 --- a/tests/bugs/vis/bug155_2 +++ b/tests/bugs/vis/bug155_2 @@ -14,13 +14,13 @@ pcone c_o 15 0 50 360 v2ddisplay c_o v2dfit -set color [QAAISGetPixelColor2d 338 77] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 338 +set y_coord 77 +set color2d 1 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 1 1 0 + +if { $stat != 1 } { puts "Error : pCone 2D was NOT LOADED properly into viewer" } diff --git a/tests/bugs/vis/bug155_3 b/tests/bugs/vis/bug155_3 index a34b9d953e..d39023f923 100755 --- a/tests/bugs/vis/bug155_3 +++ b/tests/bugs/vis/bug155_3 @@ -13,14 +13,15 @@ pcylinder c_y 5 10 v2ddisplay c_y v2dfit -set color [QAAISGetPixelColor2d 338 75] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 338 +set y_coord 75 +set color2d 1 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 1 1 0 + +if { $stat != 1 } { puts "Error : pCylinder 2D was NOT LOADED properly into viewer" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug173_1 b/tests/bugs/vis/bug173_1 index 8f7dd14fc8..8e4b5b732e 100755 --- a/tests/bugs/vis/bug173_1 +++ b/tests/bugs/vis/bug173_1 @@ -17,30 +17,14 @@ vdisplay result vfit vsetdispmode result 1 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 100000 - set gr_ch 75294 - set bl_ch 15294 -} else { - set rd_ch 100000 - set gr_ch 75686 - set bl_ch 15294 -} +set x_coord 175 +set y_coord 195 + QAUpdateLights -set color1 [QAGetPixelColor 175 195] -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 -set rd_int [expr int($rd1 * 1.e+05)] -set gr_int [expr int($gr1 * 1.e+05)] -set bl_int [expr int($bl1 * 1.e+05)] +checkcolor $x_coord $y_coord 1 0.75 0.15 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Shading is missing in 3D Viewer" } @@ -48,13 +32,11 @@ if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { vsetmaterial result COPPER QAUpdateLights -set color2 [QAGetPixelColor 175 195] -regexp {RED +: +([-0-9.+eE]+)} $color2 full rd2 -regexp {GREEN +: +([-0-9.+eE]+)} $color2 full gr2 -regexp {BLUE +: +([-0-9.+eE]+)} $color2 full bl2 -if { ${rd2} == ${rd1} || ${gr2} == ${gr1} || ${bl2} == ${bl1} } { - puts "Error : material of shape was NOT changed" +checkcolor $x_coord $y_coord 0.77 0.32 0.23 + +if { $stat != 1 } { + puts "Error : material of shape is not COPPER" } set only_screen 1 diff --git a/tests/bugs/vis/bug185 b/tests/bugs/vis/bug185 index 00f1c5217f..1d72e5ca70 100755 --- a/tests/bugs/vis/bug185 +++ b/tests/bugs/vis/bug185 @@ -13,46 +13,27 @@ vinit vdisplay result vfit -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 77647 - set gr_ch 54901 - set bl_ch 9019 -} else { - set rd_ch 78039 - set gr_ch 55294 - set bl_ch 9411 -} +set x_coord 235 +set y_coord 214 vsetdispmode result 1 QAUpdateLights -set color [QAGetPixelColor 235 214] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.78 0.55 0.9 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Shading is OFF, but should be ON" } vsetdispmode result 0 QAUpdateLights -set color0 [QAGetPixelColor 235 214] -regexp {RED +: +([-0-9.+eE]+)} $color0 full rd0 -regexp {GREEN +: +([-0-9.+eE]+)} $color0 full gr0 -regexp {BLUE +: +([-0-9.+eE]+)} $color0 full bl0 -if { ${rd0} != 0 || ${gr0} != 1 || ${bl0} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 0 1 0 + +if { $stat != 1 } { puts "Error : Shading is ON, but should be OFF" } set only_screen 1 + diff --git a/tests/bugs/vis/bug193 b/tests/bugs/vis/bug193 index 394452c04b..080dbb338f 100755 --- a/tests/bugs/vis/bug193 +++ b/tests/bugs/vis/bug193 @@ -1,4 +1,3 @@ - puts "========" puts "OCC193" puts "========" @@ -14,37 +13,21 @@ v2dgrid Circ 500 500 250 12 30 Lines set Position_X -667.802 set Position_Y -441.402 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 49411 - set gr_ch 49411 - set bl_ch 49411 -} else { - set rd_ch 49803 - set gr_ch 49803 - set bl_ch 49803 -} +set x_coord 67 +set y_coord 295 +set color2d 1 -set color [QAAISGetPixelColor2d 67 295] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +checkcolor $x_coord $y_coord 0.49 0.49 0.49 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] - -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Objects was not displayed" } -v2dpickgrid 67 295 x_coord y_coord +v2dpickgrid 67 295 x_ch y_ch -if { ${x_coord} != ${Position_X} || ${y_coord} != ${Position_Y} } { +if { ${x_ch} != ${Position_X} || ${y_ch} != ${Position_Y} } { puts "Error : Function v2dpickgrid works wrongly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug194_1 b/tests/bugs/vis/bug194_1 index 2dd6a5f7f8..505afeb81f 100755 --- a/tests/bugs/vis/bug194_1 +++ b/tests/bugs/vis/bug194_1 @@ -12,33 +12,13 @@ puts "" v2dinit v2dgrid Rect 500 500 200 200 45 Lines -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 25 - set y1 360 - set rd_ch 49411 - set gr_ch 49411 - set bl_ch 49411 -} else { - set x1 25 - set y1 361 - set rd_ch 49803 - set gr_ch 49803 - set bl_ch 49803 -} -set color [QAAISGetPixelColor2d ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 25 +set y_coord 361 +set color2d 1 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.49 0.49 0.49 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : 2D Rectangular ROTATED Grid WITH Lines was NOT CREATED properly" } diff --git a/tests/bugs/vis/bug194_2 b/tests/bugs/vis/bug194_2 index 49159635e7..e5b0bd6ad6 100755 --- a/tests/bugs/vis/bug194_2 +++ b/tests/bugs/vis/bug194_2 @@ -10,38 +10,16 @@ puts "" v2dinit v2dgrid Rect 500 500 200 200 45 Points -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 20 - set y1 20 - set rd_ch 100000 - set gr_ch 100000 - set bl_ch 100000 -## set rd_ch 49411 -## set gr_ch 49411 -## set bl_ch 49411 -} else { - set x1 20 - set y1 21 - set rd_ch 70196 - set gr_ch 70196 - set bl_ch 70196 -} -set color [QAAISGetPixelColor2d ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 20 +set y_coord 21 +set color2d 1 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.7 0.7 0.7 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : 2D Rectangular ROTATED Grid WITHOUT Lines was NOT CREATED properly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug195 b/tests/bugs/vis/bug195 index eae1b71ac7..a7327c101f 100755 --- a/tests/bugs/vis/bug195 +++ b/tests/bugs/vis/bug195 @@ -25,13 +25,13 @@ repeat 5 { incr i } -set color [QAAISGetPixelColor2d 190 105] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 190 +set y_coord 105 +set color2d 1 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 1 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 1 1 1 + +if { $stat != 1 } { puts "Error : Scaling of text font number 23 was NOT MADE properly" } diff --git a/tests/bugs/vis/bug196 b/tests/bugs/vis/bug196 index 3cbbc0a452..6f24dc952f 100755 --- a/tests/bugs/vis/bug196 +++ b/tests/bugs/vis/bug196 @@ -1,4 +1,3 @@ - puts "========" puts "OCC196" puts "========" @@ -25,25 +24,15 @@ repeat 10 { incr j } -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 336 - set y1 348 -} else { - set x1 336 - set y1 347 -} +set x_coord 336 +set y_coord 347 +set color2d 1 -set color [QAAISGetPixelColor2d ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +checkcolor $x_coord $y_coord 1 1 1 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 1 } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Rotation of text font number 23 was NOT MADE properly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug197_1 b/tests/bugs/vis/bug197_1 index 1e9ae21cc1..0f9e74092c 100755 --- a/tests/bugs/vis/bug197_1 +++ b/tests/bugs/vis/bug197_1 @@ -15,54 +15,31 @@ v2dinit box b_b 10 15 20 v2ddisplay b_b 0 0 0 1 1 1 1 0 0 v2dfit +set color2d 1 QAv2dSetHighlightMode 1 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set Position_X1 184 - set Position_Y1 181 - set Position_X2 184 - set Position_Y2 181 -} else { - set Position_X1 169 - set Position_Y1 148 - set Position_X2 184 - set Position_Y2 180 -} - -set rd_ch 80000 -set gr_ch 80000 -set bl_ch 80000 QASelect2d 169 148 QAMoveTo2d 0 0 QAShiftSelect2d 184 180 -set j 1 -repeat 2 { - set Position_X [set Position_X$j] - set Position_Y [set Position_Y$j] - puts " Position_X$j= $Position_X Position_Y$j= $Position_Y" - - set color [QAAISGetPixelColor2d ${Position_X} ${Position_Y} ] - regexp {RED +: +([-0-9.+eE]+)} $color full rd - regexp {GREEN +: +([-0-9.+eE]+)} $color full gr - regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 169 +set y_coord 148 - set rd_int [expr int($rd * 1.e+05)] - set gr_int [expr int($gr * 1.e+05)] - set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.8 0.8 0.8 +if { ${stat} != 1 } { + puts "Error : (PRIMITIVE number 1) Multiple Selection: Choosing of viewer MOD for selection of PRIMITIVE was NOT MADE properly" +} + +set x_coord 184 +set y_coord 180 - if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" - puts "Error : (PRIMITIVE number $j) Multiple Selection: Choosing of viewer MOD for selection of PRIMITIVE was NOT MADE properly" - } - - incr j +checkcolor $x_coord $y_coord 0.8 0.8 0.8 +if { ${stat} != 1 } { + puts "Error : (PRIMITIVE number 2) Multiple Selection: Choosing of viewer MOD for selection of PRIMITIVE was NOT MADE properly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug197_2 b/tests/bugs/vis/bug197_2 index 9085d79013..7234b57560 100755 --- a/tests/bugs/vis/bug197_2 +++ b/tests/bugs/vis/bug197_2 @@ -15,49 +15,28 @@ box b_b 10 15 20 v2ddisplay b_b 0 0 0 1 1 1 1 0 0 v2dfit QAv2dSetHighlightMode 2 +set color2d 1 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set Position_X1 296 - set Position_Y1 161 - set Position_X2 76 - set Position_Y2 290 -} else { - set Position_X1 296 - set Position_Y1 160 - set Position_X2 76 - set Position_Y2 290 -} +QASelect2d 296 160 +QAMoveTo2d 0 0 +QAShiftSelect2d 76 290 -set rd_ch 80000 -set gr_ch 80000 -set bl_ch 80000 +set x_coord 296 +set y_coord 161 -QASelect2d $Position_X1 $Position_Y1 -QAMoveTo2d 0 0 -QAShiftSelect2d $Position_X2 $Position_Y2 -set j 1 -repeat 2 { - set Position_X [set Position_X$j] - set Position_Y [set Position_Y$j] - puts " Position_X$j= $Position_X Position_Y$j= $Position_Y" +checkcolor $x_coord $y_coord 0.8 0.8 0.8 + +if { ${stat} != 1 } { + puts "Error : (ELEMENT number 1) Multiple Selection: Choosing of viewer MOD for selection of ELEMENT was NOT MADE properly" +} - set color [QAAISGetPixelColor2d ${Position_X} ${Position_Y}] - regexp {RED +: +([-0-9.+eE]+)} $color full rd - regexp {GREEN +: +([-0-9.+eE]+)} $color full gr - regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 76 +set y_coord 290 - set rd_int [expr int($rd * 1.e+05)] - set gr_int [expr int($gr * 1.e+05)] - set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.8 0.8 0.8 - if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" - puts "Error : (ELEMENT number $j) Multiple Selection: Choosing of viewer MOD for selection of ELEMENT was NOT MADE properly" - } - incr j +if { ${stat} != 1 } { + puts "Error : (ELEMENT number 2) Multiple Selection: Choosing of viewer MOD for selection of ELEMENT was NOT MADE properly" } set only_screen2d 1 diff --git a/tests/bugs/vis/bug204_1 b/tests/bugs/vis/bug204_1 index 1ee8bf783f..8e4686850c 100755 --- a/tests/bugs/vis/bug204_1 +++ b/tests/bugs/vis/bug204_1 @@ -1,6 +1,5 @@ -puts "TODO OCC12345 ALL: Error : colors are not equal" puts "TODO OCC12345 ALL: Error : 3 boxes missing in the viewer!" - +puts "TODO OCC12345 ALL: Error : Colors are not equal in default coordinate and in the near coordinates too" puts "========" puts "OCC204" puts "========" @@ -9,21 +8,12 @@ vinit OCC204 0 vfit -set rd_ch 80000 -set gr_ch 80000 -set bl_ch 80000 - -set color [QAGetPixelColor 150 200] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 150 +set y_coord 200 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.8 0.8 0.8 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { ${stat} != 1 } { puts "Error : 3 boxes missing in the viewer!" } diff --git a/tests/bugs/vis/bug204_2 b/tests/bugs/vis/bug204_2 index e278b957a5..b7ed4d8956 100755 --- a/tests/bugs/vis/bug204_2 +++ b/tests/bugs/vis/bug204_2 @@ -6,22 +6,14 @@ vinit OCC204 1 vfit -set rd_ch 80000 -set gr_ch 80000 -set bl_ch 80000 +set x_coord 150 +set y_coord 200 -set color [QAGetPixelColor 150 200] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +checkcolor $x_coord $y_coord 0 0 0 -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] - -if { ${rd_int} == ${rd_ch} || ${gr_int} == ${gr_ch} || ${bl_int} == ${bl_ch} } { - puts "Error : colors are not equal" - puts "Error : There are 3 boxes in the viewer!" +if { ${stat} != 1 } { + puts "Error : There are 3 boxes in the viewer! (should be nothing)" } set only_screen 1 + diff --git a/tests/bugs/vis/bug215 b/tests/bugs/vis/bug215 index 3997b81eef..04bec5bb56 100755 --- a/tests/bugs/vis/bug215 +++ b/tests/bugs/vis/bug215 @@ -1,4 +1,3 @@ - puts "========" puts "OCC215" puts "========" @@ -26,5 +25,10 @@ set at_Z -12.5332689285278 QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z} -QAGetPixelColor 229 94 1 1 0 +set x_coord 229 +set y_coord 94 + +checkcolor $x_coord $y_coord 1 1 0 + set only_screen 1 + diff --git a/tests/bugs/vis/bug218 b/tests/bugs/vis/bug218 index 8e8ad5e195..fd56661c97 100755 --- a/tests/bugs/vis/bug218 +++ b/tests/bugs/vis/bug218 @@ -1,7 +1,3 @@ -if { [array get env os_type] != "" } { - set os $env(os_type) -} - puts "================" puts "OCC218" puts "================" @@ -26,51 +22,25 @@ set at_X 1.04834496974945 set at_Y 0.741619229316711 set at_Z -0.0881031528115273 -if { [string compare $os "windows"] == 0 } { - set rd_ch 90588 - set gr_ch 90588 - set bl_ch 0 - - set BLACK_R 0 - set BLACK_G 0 - set BLACK_B 0 - - set x1 376 - set y1 24 -} else { - set rd_ch 65098 - set gr_ch 65098 - set bl_ch 0 - - set BLACK_R 0 - set BLACK_G 0 - set BLACK_B 0 - - set x1 388 - set y1 28 -} +set x_coord 388 +set y_coord 28 QASetViewCharac ${scale} ${center_X} ${center_Y} ${proj_X} ${proj_Y} ${proj_Z} ${up_X} ${up_Y} ${up_Z} ${at_X} ${at_Y} ${at_Z} OCC218 trihedron1 b_1 X Y QAUpdateLights -QAGetPixelColor ${x1} ${y1} ${BLACK_R} ${BLACK_G} ${BLACK_B} + +checkcolor $x_coord $y_coord 0 0 0 OCC218 trihedron1 b_1 my___axis___1 my___axis2 QAUpdateLights -set color [QAGetPixelColor ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] +checkcolor $x_coord $y_coord 0.85 0.85 0 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "There is no messages near axes" } set only_screen 1 + diff --git a/tests/bugs/vis/bug224 b/tests/bugs/vis/bug224 index 02d26499f7..9a0f0df22b 100755 --- a/tests/bugs/vis/bug224 +++ b/tests/bugs/vis/bug224 @@ -14,31 +14,25 @@ set mistake1 0 v2ddisplay s_p 0 0 0 1 1 1 1 0 0 v2dfit v2dsetwidth s_p VERYTHICK -set Color_R 1 -set Color_G 1 -set Color_B 0 -set color [QAAISGetPixelColor2d 393 210] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 393 +set y_coord 210 +set color2d 1 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 0 } { - puts "Error : colors are not equal" +checkcolor $x_coord $y_coord 1 1 0 + +if { $stat != 1 } { puts "Error : New widht was NOT assigned" } v2dunsetwidth s_p -set color [QAAISGetPixelColor2d 393 210] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +checkcolor $x_coord $y_coord 0 0 0 -if { ${rd} != 0 || ${gr} != 0 || ${bl} != 0 } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Function V2DUNSETWIDTH for shapes does NOT WORK properly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug225 b/tests/bugs/vis/bug225 index 826a1f7d67..34cac283db 100755 --- a/tests/bugs/vis/bug225 +++ b/tests/bugs/vis/bug225 @@ -1,4 +1,3 @@ - puts "========================" puts " OCC225 " puts "========================" @@ -17,14 +16,15 @@ v2dsetcolor b_b BLUE3 wait 5 v2dunsetcolor b_b -set color [QAAISGetPixelColor2d 22 230] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 22 +set y_coord 230 +set color2d 1 + +checkcolor $x_coord $y_coord 1 1 0 -if { ${rd} != 1 || ${gr} != 1 || ${bl} != 0 } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : function V2DUNSETCOLOR for BOX 2D does NOT WORK properly" } set only_screen2d 1 + diff --git a/tests/bugs/vis/bug23120 b/tests/bugs/vis/bug23120 index 146aac4990..fc93feb60a 100755 --- a/tests/bugs/vis/bug23120 +++ b/tests/bugs/vis/bug23120 @@ -23,48 +23,14 @@ vsetdispmode 1 vzoom 0.5 vpan 100 0 -set x1 300 -set y1 130 -if { [string compare $tcl_platform(os) "Windows NT"] == 0 } { - puts "STATION IS WNT" - set r_check 0.77646999999999999 - set g_check 0.54901900000000003 - set b_check 0.090195999999999998 -} else { - set r_check 0.78039199999999997 - set g_check 0.55294100000000002 - set b_check 0.094117000000000006 -} - -set r_check [expr int($r_check * 1.e5)] -set g_check [expr int($g_check * 1.e5)] -set b_check [expr int($b_check * 1.e5)] - -puts "r_check=$r_check" -puts "g_check=$g_check" -puts "b_check=$b_check" - -set color1 [ QAGetPixelColor ${x1} ${y1} ] +set x_coord 300 +set y_coord 130 -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 +checkcolor $x_coord $y_coord 0.78 0.55 0.9 -set rd1 [expr int($rd1 * 1.e5)] -set gr1 [expr int($gr1 * 1.e5)] -set bl1 [expr int($bl1 * 1.e5)] - -puts "rd1=$rd1" -puts "gr1=$gr1" -puts "bl1=$bl1" - -set status1 0 -if { $rd1 != $r_check || $gr1 != $g_check || $bl1 != $b_check } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Transform persistence is not restored" -} else { - puts "OK : colors are equal" - puts "OK : Transform persistence is restored" } set only_screen 1 + diff --git a/tests/bugs/vis/bug23407_1 b/tests/bugs/vis/bug23407_1 old mode 100644 new mode 100755 index 25e0d47897..c5e7329132 --- a/tests/bugs/vis/bug23407_1 +++ b/tests/bugs/vis/bug23407_1 @@ -8,16 +8,6 @@ puts "" pload QAcommands pload XDEDRAW -set r_check 1 -set g_check 0 -set b_check 0 -set x1 178 -set y1 36 -set x2 224 -set y2 39 -set x3 244 -set y3 89 - XNewDoc Doc1 ReadStep Doc1 [locate_data_file screw.step] XShow Doc1 0:1:1:1 @@ -25,37 +15,24 @@ XShowFaceBoundary Doc1 0:1:1:1 1 255 0 0 10 1 vfit vsetdispmode 1 -set color1 [ QAGetPixelColor ${x1} ${y1} ] -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 -set status1 0 -if { $rd1 != $r_check || $gr1 != $g_check || $bl1 != $b_check } { - set status1 1 -} +set x_coord 178 +set y_coord 36 -set color2 [ QAGetPixelColor ${x2} ${y2} ] -regexp {RED +: +([-0-9.+eE]+)} $color2 full rd2 -regexp {GREEN +: +([-0-9.+eE]+)} $color2 full gr2 -regexp {BLUE +: +([-0-9.+eE]+)} $color2 full bl2 -set status2 0 -if { $rd2 != $r_check || $gr2 != $g_check || $bl2 != $b_check } { - set status2 1 -} +checkcolor $x_coord $y_coord 1 0 0 -set color3 [ QAGetPixelColor ${x3} ${y3} ] -regexp {RED +: +([-0-9.+eE]+)} $color3 full rd3 -regexp {GREEN +: +([-0-9.+eE]+)} $color3 full gr3 -regexp {BLUE +: +([-0-9.+eE]+)} $color3 full bl3 -set status3 0 -if { $rd3 != $r_check || $gr3 != $g_check || $bl3 != $b_check } { - set status3 1 +if { $stat != 1 } { + puts "Error : Boundary of face is not changed" } -if { $status1 != 0 && $status2 != 0 && $status3 != 0 } { - puts "Error : color are not equal" - puts "Error : Boundary of face is not changed" +set x_coord 244 +set y_coord 89 + +checkcolor $x_coord $y_coord 1 0 0 + +if { $stat != 01} { + puts "Error : Boundary of face is not changed" } set only_screen 1 + diff --git a/tests/bugs/vis/bug23407_2 b/tests/bugs/vis/bug23407_2 old mode 100644 new mode 100755 index c0469639a1..471a138b8a --- a/tests/bugs/vis/bug23407_2 +++ b/tests/bugs/vis/bug23407_2 @@ -8,16 +8,6 @@ puts "" pload QAcommands pload AISV MODELING -set r_check 1 -set g_check 0 -set b_check 0 -set x1 183 -set y1 190 -set x2 292 -set y2 358 -set x3 26 -set y3 265 - box b 10 10 10 vinit vdisplay b @@ -25,35 +15,30 @@ vsetdispmode 1 vshowfaceboundary b 1 255 0 0 10 1 vfit -set color1 [ QAGetPixelColor ${x1} ${y1} ] -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 -set status1 0 -if { $rd1 != $r_check || $gr1 != $g_check || $bl1 != $b_check } { - set status1 1 -} +set x_coord 183 +set y_coord 190 + +checkcolor $x_coord $y_coord 1 0 0 -set color2 [ QAGetPixelColor ${x2} ${y2} ] -regexp {RED +: +([-0-9.+eE]+)} $color2 full rd2 -regexp {GREEN +: +([-0-9.+eE]+)} $color2 full gr2 -regexp {BLUE +: +([-0-9.+eE]+)} $color2 full bl2 -set status2 0 -if { $rd2 != $r_check || $gr2 != $g_check || $bl2 != $b_check } { - set status2 1 +if { $stat != 1 } { + puts "Error : Boundary of face is not changed" } -set color3 [ QAGetPixelColor ${x3} ${y3} ] -regexp {RED +: +([-0-9.+eE]+)} $color3 full rd3 -regexp {GREEN +: +([-0-9.+eE]+)} $color3 full gr3 -regexp {BLUE +: +([-0-9.+eE]+)} $color3 full bl3 -set status3 0 -if { $rd3 != $r_check || $gr3 != $g_check || $bl3 != $b_check } { - set status3 1 +set x_coord 292 +set y_coord 358 + +checkcolor $x_coord $y_coord 1 0 0 + +if { $stat != 1 } { + puts "Error : Boundary of face is not changed" } -if { $status1 != 0 && $status2 != 0 && $status3 != 0 } { - puts "Error : color are not equal" +set x_coord 26 +set y_coord 265 + +checkcolor $x_coord $y_coord 1 0 0 + +if { $stat != 1 } { puts "Error : Boundary of face is not changed" } diff --git a/tests/bugs/vis/bug23425 b/tests/bugs/vis/bug23425 old mode 100644 new mode 100755 diff --git a/tests/bugs/vis/bug280_2 b/tests/bugs/vis/bug280_2 index 4e1ba327df..e516ded0ee 100755 --- a/tests/bugs/vis/bug280_2 +++ b/tests/bugs/vis/bug280_2 @@ -11,31 +11,25 @@ vfit OCC280 0 0 # selected point -set x1 218 -set y1 196 - -set Cyan_R 0 -set Cyan_G 1 -set Cyan_B 1 - -set Yellow_R 1 -set Yellow_G 1 -set Yellow_B 0 +set x_coord 218 +set y_coord 196 # There is not selection puts "There is not selection" -QAGetPixelColor $x1 $y1 $Yellow_R $Yellow_G $Yellow_B + +checkcolor $x_coord $y_coord 1 1 0 # Move a mouse puts "Move a mouse" -QAMoveTo $x1 $y1 -QAMoveTo $x1 $y1 +QAMoveTo $x_coord $y_coord +QAMoveTo $x_coord $y_coord QAUpdateLights # There is a selection puts "There is a selection" -QAGetPixelColor $x1 $y1 $Cyan_R $Cyan_G $Cyan_B + +checkcolor $x_coord $y_coord 0 1 1 set only_screen 1 diff --git a/tests/bugs/vis/bug280_3 b/tests/bugs/vis/bug280_3 index 98fa0c1e9b..390a184614 100755 --- a/tests/bugs/vis/bug280_3 +++ b/tests/bugs/vis/bug280_3 @@ -10,45 +10,22 @@ vsetdispmode b 1 OCC280 0 1 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set rd_ch 77647 - set gr_ch 54901 - set bl_ch 9019 -} else { - set rd_ch 78039 - set gr_ch 55294 - set bl_ch 9411 -} +set x_coord 10 +set y_coord 240 puts "Before View->FitAll()" QAUpdateLights -set color0 [QAGetPixelColor 10 240] -regexp {RED +: +([-0-9.+eE]+)} $color0 full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color0 full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color0 full bl -if { ${rd} != 0 || ${gr} != 0 || ${bl} != 0 } { - puts "Error : colors are not equal" -} +checkcolor $x_coord $y_coord 0 0 0 vfit puts "After View->FitAll()" QAUpdateLights -set color1 [QAGetPixelColor 10 240] -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 -set rd_int [expr int($rd1 * 1.e+05)] -set gr_int [expr int($gr1 * 1.e+05)] -set bl_int [expr int($bl1 * 1.e+05)] +checkcolor $x_coord $y_coord 0.78 0.55 0.9 -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" +if { $stat != 1 } { puts "Error : Function vfit works wrongly" } diff --git a/tests/bugs/vis/bug288_1 b/tests/bugs/vis/bug288_1 index 266cfe21cb..4c2029ab52 100755 --- a/tests/bugs/vis/bug288_1 +++ b/tests/bugs/vis/bug288_1 @@ -1,4 +1,3 @@ - puts "========================" puts " OCC288 " puts "(case 1)" diff --git a/tests/bugs/vis/bug288_2 b/tests/bugs/vis/bug288_2 index 42d3f15d2e..8657c2c1c2 100755 --- a/tests/bugs/vis/bug288_2 +++ b/tests/bugs/vis/bug288_2 @@ -1,4 +1,3 @@ - puts "========================" puts " OCC288 " puts "(case 2)" diff --git a/tests/bugs/vis/bug344 b/tests/bugs/vis/bug344 index b44e8cac56..d895859c69 100755 --- a/tests/bugs/vis/bug344 +++ b/tests/bugs/vis/bug344 @@ -30,6 +30,7 @@ if { $tri == 9 && $nod == 8 } { puts "Shading of OCC344 looks like OK, but visual checking is required" } -set only_screen 1 +set 3dviewer 1 + diff --git a/tests/bugs/vis/bug64 b/tests/bugs/vis/bug64 index 575f6673be..88d62fff36 100755 --- a/tests/bugs/vis/bug64 +++ b/tests/bugs/vis/bug64 @@ -4,20 +4,8 @@ puts "OCC64" puts "================" puts "" -set rd_ch 0 -set gr_ch 1 -set bl_ch 1 - -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 204 - set y1 204 -} else { - set x1 205 - set y1 205 -} +set x_coord 205 +set y_coord 205 vinit vtrihedron tri @@ -26,13 +14,6 @@ vtri_orig tri QAMoveTo 205 205 QAUpdateLights -set color [QAGetPixelColor ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd_int -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr_int -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl_int - -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" -} +checkcolor $x_coord $y_coord 0 1 1 set only_screen 1 diff --git a/tests/bugs/vis/bug85_1 b/tests/bugs/vis/bug85_1 index 2e808e54aa..ae8e489e80 100755 --- a/tests/bugs/vis/bug85_1 +++ b/tests/bugs/vis/bug85_1 @@ -43,37 +43,14 @@ SetShape D 0:1:4 b AISSet D 0:1:4 NS AISDisplay D 0:1:4 -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 260 - set y1 170 - set rd_ch 77647 - set gr_ch 54901 - set bl_ch 9019 -} else { - set x1 255 - set y1 105 - set rd_ch 78039 - set gr_ch 55294 - set bl_ch 9411 -} +set x_coord 273 +set y_coord 115 QAUpdateLights -set color [QAGetPixelColor ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl -set rd_int [expr int($rd * 1.e+05)] -set gr_int [expr int($gr * 1.e+05)] -set bl_int [expr int($bl * 1.e+05)] - -if { ${rd_int} != ${rd_ch} || ${gr_int} != ${gr_ch} || ${bl_int} != ${bl_ch} } { - puts "Error : colors are not equal" -} +checkcolor $x_coord $y_coord 0.78 0.55 0.9 set only_screen 1 + diff --git a/tests/bugs/vis/bug85_2 b/tests/bugs/vis/bug85_2 index e353bd6d89..ce2dff3d6d 100755 --- a/tests/bugs/vis/bug85_2 +++ b/tests/bugs/vis/bug85_2 @@ -42,37 +42,13 @@ AISSet D 0:1:4 NS AISDisplay D 0:1:4 vfit -if { [array get env os_type] != "" } { - set os $env(os_type) -} -if { [string compare $os "windows"] == 0 } { - set x1 231 - set y1 170 - set rd_ch1 76078 - set gr_ch1 53725 - set bl_ch1 8627 -} else { - set x1 263 - set y1 140 - set rd_ch1 76862 - set gr_ch1 54117 - set bl_ch1 9019 -} +set x_coord 230 +set y_coord 160 -set color1 [QAGetPixelColor ${x1} ${y1}] -regexp {RED +: +([-0-9.+eE]+)} $color1 full rd1 -regexp {GREEN +: +([-0-9.+eE]+)} $color1 full gr1 -regexp {BLUE +: +([-0-9.+eE]+)} $color1 full bl1 - -set rd_int1 [expr int($rd1 * 1.e+05)] -set gr_int1 [expr int($gr1 * 1.e+05)] -set bl_int1 [expr int($bl1 * 1.e+05)] - -if { ${rd_int1} != ${rd_ch1} || ${gr_int1} != ${gr_ch1} || ${bl_int1} != ${bl_ch1} } { - puts "Error : colors are not equal" -} +checkcolor $x_coord $y_coord 0.76 0.54 0.9 set only_screen 1 + diff --git a/tests/bugs/vis/bug19619 b/tests/bugs/vis/pro19619 similarity index 100% rename from tests/bugs/vis/bug19619 rename to tests/bugs/vis/pro19619 diff --git a/tests/bugs/xde/bug23193 b/tests/bugs/xde/bug23193 index 777be09178..70c26b67b1 100755 --- a/tests/bugs/xde/bug23193 +++ b/tests/bugs/xde/bug23193 @@ -7,9 +7,6 @@ puts "" ########################################################################### pload QAcommands -if {[array get env os_type] != ""} { - set os $env(os_type) -} set aFile $imagedir/bug23193_sample.stl @@ -22,16 +19,13 @@ meshcolors m1 elem2 1 QARotateV3dView 4 0 0 1 vfit -set color [QAGetPixelColor 189 236] -regexp {RED +: +([-0-9.+eE]+)} $color full rd -regexp {GREEN +: +([-0-9.+eE]+)} $color full gr -regexp {BLUE +: +([-0-9.+eE]+)} $color full bl +set x_coord 189 +set y_coord 236 -set a [expr $bl*10] -set bl_1 [expr round($a)] +checkcolor $x_coord $y_coord 0 0 0.7 -if { $rd != 0 || $gr != 0 || $bl_1 != 7 } { - puts "Error : Color are not equal. There is missing triangle" +if { ${stat} != 1 } { + puts "Error : There is missing triangle" } set only_screen 1 -- 2.20.1