1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-05 18:16:23 +03:00
ski 1951a27c98 0024863: CLang warnings -Wint-to-void-pointer-cast
Warning was fixed.

Remarks were applied.

- class VMap in Draw was removed
- NCollection_DataMap is used to store objects
- name of object is used to associate Tcl variable with the object
- creation and changing of objects are correclty handled

Redundant casts were removed.

Initial value is restored if variable is protected.
Tests for bug #24863 were added.

Some test cases and tcl command "save" were improved.

Useless using of upvar was removed.
2014-08-07 14:33:28 +04:00

157 lines
4.1 KiB
Plaintext
Executable File

puts "================"
puts "OCC23165"
puts "================"
puts ""
###################################################################################################################
# BndLib_Add3dCurve::Add incorrectly segmented original B-Spline what resulting in wrong bounding box or exception.
###################################################################################################################
catch { pload XDE }
set BugNumber OCC23165
smallview
# 1 step
set exception_status 0
set e1_status 0
set status 0
set percent_max 0.1
proc GetPercent {Value GoodValue} {
set Percent 0.
if {${GoodValue} != 0.} {
set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
} elseif {${Value} != 0.} {
set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
} else {
set Percent 0.
}
return ${Percent}
}
restore [locate_data_file OCC23165-edge1.brep] e1
donly e1
catch { bounding e1 } msg
fit
set index [lsearch $msg exception]
if {$index > -1} {
set exception_status 1
} else {
set e1_result [bounding e1]
set e1_x1 [lindex ${e1_result} 0]
set e1_y1 [lindex ${e1_result} 1]
set e1_z1 [lindex ${e1_result} 2]
set e1_x2 [lindex ${e1_result} 3]
set e1_y2 [lindex ${e1_result} 4]
set e1_z2 [lindex ${e1_result} 5]
set e1_good_x1 -17.610622244944413
set e1_good_y1 -0.010622244944394899
set e1_good_z1 -3.0106222449443973
set e1_good_x2 -17.589377755055537
set e1_good_y2 5.7106222251726582
set e1_good_z2 -1.6146050638816589
set e1_x1_percent [GetPercent ${e1_x1} ${e1_good_x1}]
set e1_y1_percent [GetPercent ${e1_y1} ${e1_good_y1}]
set e1_z1_percent [GetPercent ${e1_z1} ${e1_good_z1}]
set e1_x2_percent [GetPercent ${e1_x2} ${e1_good_x2}]
set e1_y2_percent [GetPercent ${e1_y2} ${e1_good_y2}]
set e1_z2_percent [GetPercent ${e1_z2} ${e1_good_z2}]
if {${e1_x1_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : x1 for e1 is wrong"
set e1_status 1
}
if {${e1_y1_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : y1 for e1 is wrong"
set e1_status 1
}
if {${e1_z1_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : z1 for e1 is wrong"
set e1_status 1
}
if {${e1_x2_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : x2 for e1 is wrong"
set e1_status 1
}
if {${e1_y2_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : y2 for e1 is wrong"
set e1_status 1
}
if {${e1_z2_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : z2 for e1 is wrong"
set e1_status 1
}
}
# 2 step
restore [locate_data_file OCC23165-curve.rle] c
mkedge result c 20 36
donly result
set res [bounding result]
fit
set x1 [lindex ${res} 0]
set y1 [lindex ${res} 1]
set z1 [lindex ${res} 2]
set x2 [lindex ${res} 3]
set y2 [lindex ${res} 4]
set z2 [lindex ${res} 5]
set good_x1 -17.6105835090592
set good_y1 -4.7133570660117909
set good_z1 -4.3679100133425806
set good_x2 -17.589416490940806
set good_y2 5.7105834892874094
set good_z2 -1.6146437997669054
set x1_percent [GetPercent ${x1} ${good_x1}]
set y1_percent [GetPercent ${y1} ${good_y1}]
set z1_percent [GetPercent ${z1} ${good_z1}]
set x2_percent [GetPercent ${x2} ${good_x2}]
set y2_percent [GetPercent ${y2} ${good_y2}]
set z2_percent [GetPercent ${z2} ${good_z2}]
if {${x1_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : x1 is wrong"
set status 1
}
if {${y1_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : y1 is wrong"
set status 1
}
if {${z1_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : z1 is wrong"
set status 1
}
if {${x2_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : x2 is wrong"
set status 1
}
if {${y2_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : y2 is wrong"
set status 1
}
if {${z2_percent} > ${percent_max}} {
puts "Faulty ${BugNumber} : z2 is wrong"
set status 1
}
if { ${status} == 0 && ${exception_status} == 0&& ${e1_status} == 0 } {
puts "${BugNumber}: OK"
} else {
puts "${BugNumber}: Faulty"
}
set 2dviewer 1
set length 15.8888