mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-05 18:16:23 +03:00
0023512: Incorrect triangulation on revolution shape
Added test cases bugs/modalg_5/bug23512_1 bug23512_2 Moved test cases for issue 23512 moved to folder bugs/mesh. Square checking is made in END file
This commit is contained in:
parent
67a1064eb8
commit
456b33ebf2
@ -139,6 +139,18 @@ if { [info exists nb_fe_good] && [info exists nb_fe] } {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if { [info exists rel_tol] } {
|
||||||
|
puts "\nChecking triangulation area (triarea command)..."
|
||||||
|
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
||||||
|
if { $rel_err > $rel_tol } {
|
||||||
|
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
||||||
|
} else {
|
||||||
|
if { $rel_tol > 1 && $rel_tol < 100 } {
|
||||||
|
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if { [isdraw result] } {
|
if { [isdraw result] } {
|
||||||
if { [info exists 2dviewer] } {
|
if { [info exists 2dviewer] } {
|
||||||
clear
|
clear
|
||||||
|
35
tests/bugs/mesh/bug23512_1
Normal file
35
tests/bugs/mesh/bug23512_1
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
puts "================"
|
||||||
|
puts "OCC23512"
|
||||||
|
puts "================"
|
||||||
|
puts ""
|
||||||
|
#######################################################################################
|
||||||
|
# Incorrect triangulation on revolution shape
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
|
set BugNumber OCC23512
|
||||||
|
|
||||||
|
restore [locate_data_file bug23512_rev_bad_shading.brep] result
|
||||||
|
|
||||||
|
vinit
|
||||||
|
tclean result
|
||||||
|
|
||||||
|
vsetdispmode 1
|
||||||
|
vdisplay result
|
||||||
|
vaxo
|
||||||
|
vfit
|
||||||
|
|
||||||
|
set nb_v_good 6
|
||||||
|
set nb_e_good 14
|
||||||
|
set nb_w_good 8
|
||||||
|
set nb_f_good 7
|
||||||
|
set nb_sh_good 1
|
||||||
|
set nb_sol_good 1
|
||||||
|
set nb_compsol_good 0
|
||||||
|
set nb_compound_good 0
|
||||||
|
set nb_shape_good 37
|
||||||
|
|
||||||
|
# relative tolerance (%)
|
||||||
|
set rel_tol 1
|
||||||
|
set area_eps 0
|
||||||
|
|
||||||
|
set only_screen 1
|
37
tests/bugs/mesh/bug23512_2
Normal file
37
tests/bugs/mesh/bug23512_2
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
puts "================"
|
||||||
|
puts "OCC23512"
|
||||||
|
puts "================"
|
||||||
|
puts ""
|
||||||
|
#######################################################################################
|
||||||
|
# Incorrect triangulation on revolution shape
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
|
set BugNumber OCC23512
|
||||||
|
|
||||||
|
restore [locate_data_file bug23512_rev_bad_shading.brep] result
|
||||||
|
|
||||||
|
vinit
|
||||||
|
tclean result
|
||||||
|
|
||||||
|
incmesh result 0.000001
|
||||||
|
|
||||||
|
vsetdispmode 1
|
||||||
|
vdisplay result
|
||||||
|
vaxo
|
||||||
|
vfit
|
||||||
|
|
||||||
|
set nb_v_good 6
|
||||||
|
set nb_e_good 14
|
||||||
|
set nb_w_good 8
|
||||||
|
set nb_f_good 7
|
||||||
|
set nb_sh_good 1
|
||||||
|
set nb_sol_good 1
|
||||||
|
set nb_compsol_good 0
|
||||||
|
set nb_compound_good 0
|
||||||
|
set nb_shape_good 37
|
||||||
|
|
||||||
|
# relative tolerance (%)
|
||||||
|
set rel_tol 1
|
||||||
|
set area_eps 0
|
||||||
|
|
||||||
|
set only_screen 1
|
@ -45,15 +45,5 @@ vzfit
|
|||||||
# relative tolerance (%)
|
# relative tolerance (%)
|
||||||
set rel_tol 1
|
set rel_tol 1
|
||||||
set area_eps 0
|
set area_eps 0
|
||||||
#
|
|
||||||
puts "\nChecking triangulation area (triarea command)..."
|
|
||||||
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
|
||||||
if { $rel_err > $rel_tol } {
|
|
||||||
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
|
||||||
} else {
|
|
||||||
if { $rel_tol > 1 && $rel_tol < 100 } {
|
|
||||||
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set only_screen 1
|
set only_screen 1
|
||||||
|
@ -46,15 +46,5 @@ vzfit
|
|||||||
# relative tolerance (%)
|
# relative tolerance (%)
|
||||||
set rel_tol 1
|
set rel_tol 1
|
||||||
set area_eps 0
|
set area_eps 0
|
||||||
#
|
|
||||||
puts "\nChecking triangulation area (triarea command)..."
|
|
||||||
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
|
||||||
if { $rel_err > $rel_tol } {
|
|
||||||
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
|
||||||
} else {
|
|
||||||
if { $rel_tol > 1 && $rel_tol < 100 } {
|
|
||||||
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set only_screen 1
|
set only_screen 1
|
||||||
|
@ -33,15 +33,5 @@ vzfit
|
|||||||
# relative tolerance (%)
|
# relative tolerance (%)
|
||||||
set rel_tol 1
|
set rel_tol 1
|
||||||
set area_eps 0
|
set area_eps 0
|
||||||
#
|
|
||||||
puts "\nChecking triangulation area (triarea command)..."
|
|
||||||
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
|
||||||
if { $rel_err > $rel_tol } {
|
|
||||||
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
|
||||||
} else {
|
|
||||||
if { $rel_tol > 1 && $rel_tol < 100 } {
|
|
||||||
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set only_screen 1
|
set only_screen 1
|
||||||
|
@ -36,15 +36,5 @@ vzfit
|
|||||||
# relative tolerance (%)
|
# relative tolerance (%)
|
||||||
set rel_tol 1
|
set rel_tol 1
|
||||||
set area_eps 0
|
set area_eps 0
|
||||||
#
|
|
||||||
puts "\nChecking triangulation area (triarea command)..."
|
|
||||||
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
|
||||||
if { $rel_err > $rel_tol } {
|
|
||||||
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
|
||||||
} else {
|
|
||||||
if { $rel_tol > 1 && $rel_tol < 100 } {
|
|
||||||
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set only_screen 1
|
set only_screen 1
|
||||||
|
@ -33,15 +33,5 @@ vzfit
|
|||||||
# relative tolerance (%)
|
# relative tolerance (%)
|
||||||
set rel_tol 1
|
set rel_tol 1
|
||||||
set area_eps 0
|
set area_eps 0
|
||||||
#
|
|
||||||
puts "\nChecking triangulation area (triarea command)..."
|
|
||||||
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
|
||||||
if { $rel_err > $rel_tol } {
|
|
||||||
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
|
||||||
} else {
|
|
||||||
if { $rel_tol > 1 && $rel_tol < 100 } {
|
|
||||||
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set only_screen 1
|
set only_screen 1
|
||||||
|
@ -36,15 +36,5 @@ vzfit
|
|||||||
# relative tolerance (%)
|
# relative tolerance (%)
|
||||||
set rel_tol 1
|
set rel_tol 1
|
||||||
set area_eps 0
|
set area_eps 0
|
||||||
#
|
|
||||||
puts "\nChecking triangulation area (triarea command)..."
|
|
||||||
set rel_err [expr abs([CheckTriArea result $area_eps])]
|
|
||||||
if { $rel_err > $rel_tol } {
|
|
||||||
puts "Error : area by triangles differs from the actual area by $rel_err %"
|
|
||||||
} else {
|
|
||||||
if { $rel_tol > 1 && $rel_tol < 100 } {
|
|
||||||
puts "Error: Improvement: The current area difference is $rel_err instead of $rel_tol"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set only_screen 1
|
set only_screen 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user