0027341: Incorrect exact HLR results
[occt.git] / tests / bugs / modalg_6 / bug26196
1 puts "========"
2 puts "OCC26196"
3 puts "========"
4 puts ""
5 #################################################
6 # Wrong result obtained by projection algorithm
7 #################################################
8
9 restore [locate_data_file OCC26196-Face.brep] f
10
11 explode f e
12 mkcurve c f_1
13 mksurface s f
14 trim st s 1.33305 4.31185 -1.56174 0.415831
15 project c2d c st
16
17 set bug_info [dump c2d]
18 set bug_info [string trim [string range $bug_info [expr {[string first "KnotsPoles :" $bug_info] + 12}] [string length $bug_info]]]
19 set bug_info [string trim [string range $bug_info 0 [expr {[string first "Knots :" $bug_info] - 1}]]]
20 set bug_info_length [llength $bug_info]
21
22 set beg_X [lindex $bug_info 2]
23 set beg_X [string range $beg_X 0 [expr {[string length $beg_X] - 2}]]
24 set beg_Y [lindex $bug_info 3]
25
26 set end_X [lindex $bug_info [expr {$bug_info_length - 2}]]
27 set end_X [string range $end_X 0 [expr {[string length $end_X] - 2}]]
28 set end_Y [lindex $bug_info [expr {$bug_info_length - 1}]]
29
30 if {$beg_X > $end_X} {
31   set diff_X [expr {$beg_X - $end_X}]
32 } else {
33   set diff_X [expr {$end_X - $beg_X}]
34 }
35 if {$beg_Y > $end_Y} {
36   set diff_Y [expr {$beg_Y - $end_Y}]
37 } else {
38   set diff_Y [expr {$end_Y - $beg_Y}]
39 }
40
41 if {$diff_X > 1.e-06 || $diff_Y > 1.e-06} {
42   puts "ERROR: OCC26196 is reproduced. Projection is wrong."
43 }