0030760: Modeling Algorithms - Intersection fails in Occt 7.3.0
[occt.git] / tests / bugs / modalg_7 / bug24954_1
1 puts "========"
2 puts "OCC24954"
3 puts "========"
4 puts ""
5 ################################################################
6 # BRepBuilderAPI_MakeFace adds wire with aribitary orientation
7 ################################################################
8
9 polyline p 9.08 8.62 3.75 1.87 3.04 9. 4.26 1.37 -0.08 9.08 8.62 3.75
10 wire w p
11 mkplane f w
12
13 # Verify orientation of shapes
14 set bug_info [whatis p]
15 if {[lindex $bug_info 5] != "FORWARD"} {
16   puts "ERROR: Input data is incorrect."
17 }
18 set bug_info [whatis w]
19 if {[lindex $bug_info 5] != "FORWARD"} {
20   puts "ERROR: Input data is incorrect."
21 }
22 set bug_info [whatis f]
23 if {[lindex $bug_info 5] != "FORWARD"} {
24   puts "ERROR: Input data is incorrect."
25 }
26
27 # Explode face (f) and verify wire orientation
28 puts "Checks wires:"
29 set wire_name_list [explode f w]
30 set while_count 0
31 while {$while_count < [llength $wire_name_list]} {
32   set bug_info [whatis [lindex $wire_name_list $while_count]]
33   if {[lindex $bug_info 5] != "FORWARD"} {
34     puts "ERROR: OCC24954 is reproduced. Wire [lindex $wire_name_list $while_count] has REVERSED orientation."
35   } else {
36     puts "     [lindex $wire_name_list $while_count] has FORWARD orientation."
37   }
38   set while_count [expr {$while_count + 1}]
39 }
40
41 # Explode face (f) and verify edge orientation
42 puts "Checks edges:"
43 set edge_name_list [explode f e]
44 set while_count 0
45 while {$while_count < [llength $edge_name_list]} {
46   set bug_info [whatis [lindex $edge_name_list $while_count]]
47   if {[lindex $bug_info 5] != "FORWARD"} {
48     puts "ERROR: OCC24954 is reproduced. Edge [lindex $edge_name_list $while_count] has REVERSED orientation."
49   } else {
50     puts "     [lindex $edge_name_list $while_count] has FORWARD orientation."
51   }
52   set while_count [expr {$while_count + 1}]
53 }