File: bug23830_2

package info (click to toggle)
oce 0.17.2-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 297,992 kB
  • ctags: 203,291
  • sloc: cpp: 1,176,369; ansic: 67,206; sh: 11,647; tcl: 6,890; cs: 5,221; python: 2,867; java: 1,522; makefile: 338; xml: 292; perl: 37
file content (66 lines) | stat: -rw-r--r-- 1,624 bytes parent folder | download | duplicates (5)
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
puts "================"
puts "OCC23830_2"
puts "================"
puts ""
#######################################################################
# BRepExtrema_DistShapeShape does not find intersection of face with edge
#######################################################################

restore [locate_data_file bug23830_face.brep] f
mksurface s f

for {set i 1} {$i <= 45} {incr i} {
  restore [locate_data_file bug23830_circle$i.brep] c_$i
  mkcurve c_$i c_$i
  extrema s c_$i 1
  if {![isdraw ext_1_2] || ![isdraw ext_1_3]} {
    puts "Error: invalid result"
  }
  vertex v${i}_1 ext_1_2
  vertex v${i}_2 ext_1_3
  unset ext_1_2
  unset ext_1_3
}

for {set i 1} {$i <= 45} {incr i} {
  regexp {Point\s3D\s:\s([-0-9+.e, ]+)} [dump v${i}_1] aDummy aP1
  regexp {Point\s3D\s:\s([-0-9+.e, ]+)} [dump v${i}_2] aDummy aP2
  regexp {(^[-0-9+.e]+)} $aP1 aDummy aX1
  regexp {,\s([-0-9+.e]+),\s} $aP1 aDummy aY1
  regexp {\s([-0-9+.e]+)$} $aP2 aDummy aZ1
  regexp {(^[-0-9+.e]+)} $aP2 aDummy aX2
  regexp {,\s([-0-9+.e]+),\s} $aP2 aDummy aY2
  regexp {\s([-0-9+.e]+)$} $aP2 aDummy aZ2
  set aC${i}_1 [concat "$aX1 $aY1 $aZ1"]
  set aC${i}_2 [concat "$aX2 $aY2 $aZ2"]
  set aD$i [expr sqrt(($aX2 - $aX1) * ($aX2 - $aX1) + ($aY2 - $aY1) * ($aY2 - $aY1) + ($aZ2 - $aZ1) * ($aZ2 - $aZ1))]
  if {[set aD$i] > 1e-11} {
    puts "Error: invalid result ($i)"
  }
}

for {set i 1} {$i <= 45} {incr i} {
  puts ""
  puts "$i"
  puts [set aC${i}_1]
  puts [set aC${i}_2]
  puts [set aD$i]
}

smallview
l
l
l
l
l
l
l
l
erase
display f
for {set i 1} {$i <= 45} {incr i} {
  display v${i}_1
  display v${i}_2
}
fit
set only_screen_axo 1