0025624: Visualization - selection is incorrect in perspective mode in a specific...
[occt.git] / tests / bugs / vis / buc60857
1 puts "========"
2 puts "BUC60857"
3 puts "========"
4
5 vinit
6 BUC60857
7 vfit
8
9 set Property_BLUE [sprops BUC60857_BLUE]
10 set Square_BLUE [lindex ${Property_BLUE} 2]
11
12 set Property_RED [sprops BUC60857_RED]
13 set Square_RED [lindex ${Property_RED} 2]
14
15 set Property_GREEN [sprops BUC60857_GREEN]
16 set Square_GREEN [lindex ${Property_GREEN} 2]
17
18 boundingstr BUC60857_BLUE xmin_BLUE ymin_BLUE zmin_BLUE xmax_BLUE ymax_BLUE zmax_BLUE
19 boundingstr BUC60857_RED xmin_RED ymin_RED zmin_RED xmax_RED ymax_RED zmax_RED
20 boundingstr BUC60857_GREEN xmin_GREEN ymin_GREEN zmin_GREEN xmax_GREEN ymax_GREEN zmax_GREEN
21
22 set delta_Square_GB [expr abs(${Square_GREEN} - ${Square_BLUE}) / ${Square_BLUE} * 100]
23 set delta_Square_BR [expr ${Square_BLUE} / ${Square_RED}]
24
25 set delta_xmin_GB [expr abs([dval xmin_GREEN] - [dval xmin_BLUE]) / [dval xmin_BLUE] * 100]
26 set delta_ymin_GB [expr abs([dval ymin_GREEN] - [dval ymin_BLUE]) / [dval ymin_BLUE] * 100]
27 set delta_zmin_GB [expr abs([dval zmin_GREEN] - [dval zmin_BLUE]) / [dval zmin_BLUE] * 100]
28 set delta_xmax_GB [expr abs([dval xmax_GREEN] - [dval xmax_BLUE]) / [dval xmax_BLUE] * 100]
29 set delta_ymax_GB [expr abs([dval ymax_GREEN] - [dval ymax_BLUE]) / [dval ymax_BLUE] * 100]
30 set delta_zmax_GB [expr abs([dval zmax_GREEN] - [dval zmax_BLUE]) / [dval zmax_BLUE] * 100]
31
32 set delta_xmin_RB [expr abs([dval xmin_RED] - [dval xmin_BLUE]) / [dval xmin_BLUE] * 100]
33 set delta_ymin_RB [expr abs([dval ymin_RED] - [dval ymin_BLUE]) / [dval ymin_BLUE] * 100]
34 set delta_zmin_RB [expr abs([dval zmin_RED] - [dval zmin_BLUE]) / [dval zmin_BLUE] * 100]
35 set delta_xmax_RB [expr abs([dval xmax_RED] - [dval xmax_BLUE]) / [dval xmax_BLUE] * 100]
36 set delta_ymax_RB [expr abs([dval ymax_RED] - [dval ymax_BLUE]) / [dval ymax_BLUE] * 100]
37 set delta_zmax_RB [expr abs([dval zmax_RED] - [dval zmax_BLUE]) / [dval zmax_BLUE] * 100]
38
39 set H_BLUE [expr [dval zmax_BLUE] - [dval zmin_BLUE] ]
40 set H_RED [expr [dval zmax_RED] - [dval zmin_RED] ]
41 set delta_H_RB [expr abs(${H_RED} - ${H_BLUE}) / ${H_BLUE} * 100]
42
43 set maxdelta 0.01
44
45 if {${delta_Square_GB} > ${maxdelta}} {
46    puts "delta_Square_GB = ${delta_Square_GB}"
47    puts "maxdelta = ${maxdelta}"
48    puts "BUC60857: ERROR (case 1)"
49 } else {
50    puts "BUC60857: OK (case 1)"
51 }
52
53 if {${delta_Square_BR} > 3.0 || \
54     ${delta_Square_BR} < 2.9     } {
55    puts "delta_Square_BR = ${delta_Square_BR}"
56    puts "delta_Square_BR = ${delta_Square_BR}"
57    puts "BUC60857: ERROR (case 2)"
58 } else {
59    puts "BUC60857: OK (case 2)"
60 }
61
62 if {${delta_xmin_GB} > ${maxdelta} || \
63     ${delta_ymin_GB} > ${maxdelta} || \
64     ${delta_zmin_GB} > ${maxdelta} || \
65     ${delta_xmax_GB} > ${maxdelta} || \
66     ${delta_ymax_GB} > ${maxdelta} || \
67     ${delta_zmax_GB} > ${maxdelta}     } {
68    puts "delta_xmin_GB = ${delta_xmin_GB}"
69    puts "delta_ymin_GB = ${delta_ymin_GB}"
70    puts "delta_zmin_GB = ${delta_zmin_GB}"
71    puts "delta_xmax_GB = ${delta_xmax_GB}"
72    puts "delta_ymax_GB = ${delta_ymax_GB}"
73    puts "delta_zmax_GB = ${delta_zmax_GB}"
74    puts "maxdelta = ${maxdelta}"
75    puts "BUC60857: ERROR (case 3)"
76 } else {
77    puts "BUC60857: OK (case 3)"
78 }
79
80 set maxdelta_H 10
81 if {${delta_H_RB} > ${maxdelta_H}} {
82    puts "delta_H_RB = ${delta_H_RB}"
83    puts "maxdelta_H = ${maxdelta_H}"
84    puts "BUC60857: ERROR (case 4)"
85 } else {
86    puts "BUC60857: OK (case 4)"
87 }
88
89 set only_screen 1