File: bug25223

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 (88 lines) | stat: -rw-r--r-- 2,387 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
puts "================"
puts "OCC25223"
puts "================"
puts ""
#######################################################################
# Wrong result done by projection algorithm
#######################################################################

restore [locate_data_file bug25223_surface] s
restore [locate_data_file bug25223_curve] c

project c2d c s

# I.
#Parameters : 2.50050886855066 2.71802559491834
regexp {Parameters : ([-0-9.+eE]+) ([-0-9.+eE]+)} [dump c] full a1 a2
set good_a1 2.50050886855066
set good_a2 2.71802559491834
set c_tol 1.e-13
if { [expr abs(${a1} - ${good_a1}) ] > ${c_tol} } {
   puts "Error: invalid a1 parameter"
}
if { [expr abs(${a2} - ${good_a2}) ] > ${c_tol} } {
   puts "Error: invalid a2 parameter"
}

# II.
set u1 2.6
cvalue c $u1 x y z
vertex v1 x y z
point p1 x y z

mkface f s
set proj_fp [projponf f p1]
#proj dist = 9.8455689542838467e-014

regexp {proj dist = ([-0-9.+eE]+) uvproj = \(([-0-9.+eE]+) ([-0-9.+eE]+)\); pproj = \(([-0-9.+eE]+) ([-0-9.+eE]+) ([-0-9.+eE]+)\)} ${proj_fp} full dist uproj vproj proj1 proj2

puts "dist=${dist}"
puts "uproj=${uproj}"
puts "vproj=${vproj}"
puts "proj1=${proj1}"
puts "proj2=${proj2}"

set tolmax_f [tolmax f]
regexp {max tol = ([-0-9.+eE]+)} ${tolmax_f} full CMP_TOL

puts "CMP_TOL=${CMP_TOL}"

set good_dist 9.8455689542838467e-14
set good_uproj 0.66864242394263962
set good_vproj 0.53857983853386682
set good_proj1 336.79267755053786
set good_proj2 -256.45869438720723

if { [expr abs(${dist} - ${good_dist}) ] > ${CMP_TOL} } {
   puts "Error: invalid dist"
}
if { [expr abs(${uproj} - ${good_uproj}) ] > ${CMP_TOL} } {
   puts "Error: invalid uproj"
}
if { [expr abs(${vproj} - ${good_vproj}) ] > ${CMP_TOL} } {
   puts "Error: invalid vproj"
}
if { [expr abs(${proj1} - ${good_proj1}) ] > ${CMP_TOL} } {
   puts "Error: invalid proj1"
}
if { [expr abs(${proj2} - ${good_proj2}) ] > ${CMP_TOL} } {
   puts "Error: invalid proj2"
}

# III.
2dcvalue c2d $u1 u v
svalue s u v x y z
vertex v2 x y z
distmini d v1 v2
#the distance value is : 3.99072821948773e-08

regexp {([-0-9.+eE]+)$} [dump d_val] full dist
regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} [ maxtolerance d ] full toler
set good_dist 3.99072821948773e-08
if { [expr abs( ${dist} - ${good_dist} )] > ${toler} } {
    puts "Error : the distanse is ${dist}. It is bad value"
}

smallview
fit
set only_screen_axo 1