1puts "================"
2puts "OCC23830_2"
3puts "================"
4puts ""
5#######################################################################
6# BRepExtrema_DistShapeShape does not find intersection of face with edge
7#######################################################################
8
9restore [locate_data_file bug23830_face.brep] f
10mksurface s f
11
12for {set i 1} {$i <= 45} {incr i} {
13  restore [locate_data_file bug23830_circle$i.brep] c_$i
14  mkcurve c_$i c_$i
15  extrema s c_$i 1
16  if {![isdraw ext_1_2] || ![isdraw ext_1_3]} {
17    puts "Error: invalid result"
18  }
19  vertex v${i}_1 ext_1_2
20  vertex v${i}_2 ext_1_3
21  unset ext_1_2
22  unset ext_1_3
23}
24
25for {set i 1} {$i <= 45} {incr i} {
26  regexp {Point\s3D\s:\s([-0-9+.e, ]+)} [dump v${i}_1] aDummy aP1
27  regexp {Point\s3D\s:\s([-0-9+.e, ]+)} [dump v${i}_2] aDummy aP2
28  regexp {(^[-0-9+.e]+)} $aP1 aDummy aX1
29  regexp {,\s([-0-9+.e]+),\s} $aP1 aDummy aY1
30  regexp {\s([-0-9+.e]+)$} $aP2 aDummy aZ1
31  regexp {(^[-0-9+.e]+)} $aP2 aDummy aX2
32  regexp {,\s([-0-9+.e]+),\s} $aP2 aDummy aY2
33  regexp {\s([-0-9+.e]+)$} $aP2 aDummy aZ2
34  set aC${i}_1 [concat "$aX1 $aY1 $aZ1"]
35  set aC${i}_2 [concat "$aX2 $aY2 $aZ2"]
36  set aD$i [expr sqrt(($aX2 - $aX1) * ($aX2 - $aX1) + ($aY2 - $aY1) * ($aY2 - $aY1) + ($aZ2 - $aZ1) * ($aZ2 - $aZ1))]
37  if {[set aD$i] > 1e-11} {
38    puts "Error: invalid result ($i)"
39  }
40}
41
42for {set i 1} {$i <= 45} {incr i} {
43  puts ""
44  puts "$i"
45  puts [set aC${i}_1]
46  puts [set aC${i}_2]
47  puts [set aD$i]
48}
49
50smallview
51l
52l
53l
54l
55l
56l
57l
58l
59erase
60display f
61for {set i 1} {$i <= 45} {incr i} {
62  display v${i}_1
63  display v${i}_2
64}
65fit
66checkview -screenshot -2d -path ${imagedir}/${test_image}.png
67