Adding test cases from grid chl
[occt.git] / tests / bugs / moddata / bug311_2
1 puts "========"
2 puts "OCC311"
3 puts "========"
4
5 restore [locate_data_file OCC311.draw] c 
6 ####       checkshape c  # - not a topological shape
7
8 set ufirst 1e-7
9 set ulast  6.2831854071795897
10
11 segment c ${ufirst} ${ulast}
12
13 set dumpc [dump c]
14
15 set list [split ${dumpc} "\n\t"]
16 set listLength [llength ${list}]
17 if { ${listLength} < 25 } {
18     puts "OCC311 - Error : listLength= ${listLength}"
19 }
20
21 regexp { +Degree +([-0-9.+eE]+), +([-0-9.+eE]+) +Poles, +([-0-9.+eE]+)  +Knots} $dumpc full DegreeNumber PolesNumber KnotsNumber
22
23 set Knots [regexp -all -inline { +([-0-9.+eE]+ +: +[-0-9.+eE]+ +[-0-9.+eE]+)} $dumpc]
24 regexp { *[-0-9.+eE]+ +: +([-0-9.+eE]+) +[-0-9.+eE]+} [lindex $Knots 1] full FirstKnot 
25 regexp { *[-0-9.+eE]+ +: +([-0-9.+eE]+) +[-0-9.+eE]+} [lindex $Knots [llength $Knots]-1] full LastKnot 
26
27 set delta_first [expr abs(${FirstKnot} - ${ufirst}) / ${ufirst} * 100]
28 set delta_last  [expr abs(${LastKnot} - ${ulast}) / ${ulast} * 100]
29
30 set maxdelta 0.01
31
32 puts "FirstKnot = ${FirstKnot}"
33 puts "LastKnot  = ${LastKnot}"
34
35 if { ${delta_first} > ${maxdelta} } {
36     puts "OCC311 - Error : delta_first = ${delta_first}"
37 }
38 if { ${delta_last} > ${maxdelta} } {
39     puts "OCC311 - Error : delta_last = ${delta_last}"
40 }
41
42 if { ${delta_first} <= ${maxdelta} && ${delta_last} <= ${maxdelta} } {
43    puts "OCC311: OK"
44 }
45
46 set 2dviewer 0
47