7afe616f |
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 | } |