0024105: ShapeFix algorithm produces not correct result.
[occt.git] / tests / bugs / xde / bug901
CommitLineData
352ffd73 1puts "======="
2puts "OCC901"
3puts "OCC884"
4puts "======="
5puts ""
6
7###########################################
8## ShapeFix_Wire::FixSelfIntersection does not remove all loops
9############################################
10
11pload QAcommands
12
13restore [locate_data_file OCC884.brep] a
14
15OCC884 result a 1.1 1.1
16
17explode result e
18mkplane p result
19pcurve c2d result_1 p
20mkcurve c3d result_1
21
22set list_3 [length $c3d]
23set list_4 [length $c2d]
24
25# len2 is the length of 3d curve
26regexp {The length c3d is +([-0-9.+eE]+)} $list_3 full len2
27
28# len1 is the length of 2d curve
29regexp {The length c2d is +([-0-9.+eE]+)} $list_4 full len1
30
31set percent_max 0.1
32set percent1 [expr abs(${len2} - ${len1}) / double(${len1}) * 100.]
33
34set len3 1.55056
35set percent2 [expr abs(${len2} - ${len3}) / double(${len3}) * 100.]
36
37puts "len1 = ${len1}"
38puts "len2 = ${len2}"
39puts "percent1 = ${percent1}"
40puts "percent2 = ${percent2}"
41
42set status 0
43
44if {${percent1} > ${percent_max}} {
45 puts "OCC901: Error (case 1)"
46 set status 1
47}
48
49if {${percent2} > ${percent_max}} {
50 puts "OCC901: Error (case 2)"
51 set status 1
52}
53
54if {${status} == 0} {
55 puts "OCC901: OK"
56}
57
58set 2dviewer 0