File: buc60897

package info (click to toggle)
opencascade 7.3.0%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 278,376 kB
  • sloc: cpp: 1,136,010; ansic: 81,569; tcl: 14,864; cs: 5,173; java: 1,522; xml: 468; sh: 375; perl: 37; makefile: 25
file content (68 lines) | stat: -rwxr-xr-x 1,982 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
puts "========"
puts "BUC60897"
puts "========"

pload QAcommands

if [catch { set result [BUC60897] } ] {
  puts "BUC60897: Error; (case 1)"
} else {
  set len [llength ${result}]
  if {${len} < 21} {
    puts "length = ${len}"
    puts "BUC60897: Error; (case 2)"
  } else {
    set circle_X [lindex ${result} 3]
    set circle_Y [lindex ${result} 5]
    set circle_R [lindex ${result} 7]
    set tangency1_X [lindex ${result} 11]
    set tangency1_Y [lindex ${result} 13]
    set tangency2_X [lindex ${result} 17]
    set tangency2_Y [lindex ${result} 19]

    set x1 [expr abs(${tangency1_X} - ${circle_X})]
    set y1 [expr abs(${tangency1_Y} - ${circle_Y})]
    set R1 [expr sqrt(${x1} * ${x1} + ${y1} * ${y1})]

    set x2 [expr abs(${tangency2_X} - ${circle_X})]
    set y2 [expr abs(${tangency2_Y} - ${circle_Y})]
    set R2 [expr sqrt(${x2} * ${x2} + ${y2} * ${y2})]

    set maxdelta 1.0
    set delta_R1 [expr abs(${R1} - ${circle_R}) / ${circle_R} * 100.]
    set delta_R2 [expr abs(${R2} - ${circle_R}) / ${circle_R} * 100.]

    if {${delta_R1} > ${maxdelta}} {
      puts "circle_X = ${circle_X}"
      puts "circle_Y = ${circle_Y}"
      puts "circle_R = ${circle_R}"
      puts "tangency1_X = ${tangency1_X}"
      puts "tangency1_Y = ${tangency1_Y}"
      puts "x1 = ${x1}"
      puts "y1 = ${y1}"
      puts "R1 = ${R1}"
      puts "delta_R1 = ${delta_R1}"
      puts "maxdelta = ${maxdelta}"
      puts "BUC60897: Error; (case 3)"
    } else {
      puts "BUC60897: OK; (case 1)"
    }

    if {${delta_R2} > ${maxdelta}} {
      puts "circle_X = ${circle_X}"
      puts "circle_Y = ${circle_Y}"
      puts "circle_R = ${circle_R}"
      puts "tangency2_X = ${tangency2_X}"
      puts "tangency2_Y = ${tangency2_Y}"
      puts "x2 = ${x2}"
      puts "y2 = ${y2}"
      puts "R2 = ${R2}"
      puts "delta_R2 = ${delta_R2}"
      puts "maxdelta = ${maxdelta}"
      puts "BUC60897: Error; (case 4)"
    } else {
      puts "BUC60897: OK; (case 2)"
    }

  }
}