75e1fd27de668a1bc7a4e3123e159d0e60829b52
[occt.git] / tests / bugs / vis / bug22735
1 puts "========"
2 puts "OCC22735"
3 puts "========"
4 puts ""
5 ###########################################################
6 # Data races in BRepMesh working in parallel mode
7 ###########################################################
8
9 set BugNumber OCC22735
10
11 vinit
12 vsetdispmode 1
13 mpparallel 1
14
15 restore [locate_data_file OCC22735-march_cube.brep] result
16
17 vdisplay result
18
19 set tri_info [trinfo result]
20 regexp { +([-0-9.+eE]+) +triangles} $tri_info full tri
21 regexp { +([-0-9.+eE]+) +nodes} $tri_info full nod
22 regexp {Maximal deflection +([-0-9.+eE]+)} $tri_info full defl
23
24 set good_tri  48
25 set good_nod  96
26 set good_defl 0
27
28 proc GetPercent {Value GoodValue} {
29     set Percent 0.
30     if {${GoodValue} != 0.} {
31         set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
32     } elseif {${Value} != 0.} {
33         set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
34     } else {
35         set Percent 0.
36     }
37     return ${Percent}
38 }
39 set percent_max 0.1
40 set status 0
41
42 set triangle_percent [GetPercent ${tri} ${good_tri}]
43 puts "triangle_percent = ${triangle_percent}"
44 if { ${triangle_percent} > ${percent_max} } {
45    puts "triangle: Faulty ${BugNumber}"
46    set status 1
47 } else {
48    puts "triangle: OK ${BugNumber}"
49 }
50
51 set node_percent [GetPercent ${nod} ${good_nod}]
52 puts "node_percent = ${node_percent}"
53 if { ${node_percent} > ${percent_max} } {
54    puts "node: Faulty ${BugNumber}"
55    set status 1
56 } else {
57    puts "node: OK ${BugNumber}"
58 }
59
60 set deflection_percent [GetPercent ${defl} ${good_defl}]
61 puts "deflection_percent = ${deflection_percent}"
62 if { ${deflection_percent} > ${percent_max} } {
63    puts "deflection: Faulty ${BugNumber}"
64    set status 1
65 } else {
66    puts "deflection: OK ${BugNumber}"
67 }
68
69 # Resume
70 puts ""
71 if { ${status} != 0 } {
72    puts "Faulty ${BugNumber}"
73 } else {
74    puts "OK ${BugNumber}"
75 }
76
77 vfit
78 checkview -screenshot -3d -path ${imagedir}/${test_image}.png