mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-08 18:40:55 +03:00
1. Restriction line is processed in IntTools_FaceFace with using methods of GeomInt_IntSS class. 2. Check, if Restriction- and Walking-lines (or Restriction-Restriction lines) are coincided, has been added in IntPatch_ImpPrmIntersection.cxx (at that RLine is considered to be isoline only). 3. Check, if RLine and GLine are coincided, has been added in IntPatch_ImpImpIntersection.cxx. 4. Create new class IntPatch_PointLine, which is inherited from IntPatch_Line. 5. The reason of exception (in DEBUG MODE) has been eliminated. New test cases for issue #25416 were added. tests/bugs/modalg_5/bug24650 was modified.
82 lines
1.6 KiB
Plaintext
82 lines
1.6 KiB
Plaintext
puts "==========="
|
|
puts "OCC24650"
|
|
puts "==========="
|
|
puts ""
|
|
##############################################################
|
|
# Wrong intersection curves obtained for a surface of revolution and a plane.
|
|
##############################################################
|
|
|
|
set GoodNbCurv 1
|
|
|
|
restore [locate_data_file bug24650_fz1365.brep] b1
|
|
restore [locate_data_file bug24650_fz2495.brep] b2
|
|
|
|
mksurface sb1 b1
|
|
mksurface sb2 b2
|
|
trimu sb1tu sb1 0.242 0.291
|
|
|
|
clear
|
|
|
|
set N [intersect res sb1tu sb2]
|
|
|
|
set che [whatis res]
|
|
set ind [string first "3d curve" $che]
|
|
if {${ind} >= 0} {
|
|
#Only variable "res" exists
|
|
renamevar res res_1
|
|
}
|
|
|
|
|
|
set ic 1
|
|
set AllowRepeate 1
|
|
while { $AllowRepeate != 0 } {
|
|
set che [whatis res_$ic]
|
|
set ind [string first "3d curve" $che]
|
|
if {${ind} < 0} {
|
|
set AllowRepeate 0
|
|
} else {
|
|
display res_$ic
|
|
|
|
bounds res_$ic U1 U2
|
|
|
|
dval U1
|
|
dval U2
|
|
|
|
if {[dval U2-U1] < 1.0e-20} {
|
|
puts "Error: Wrong curve's range!"
|
|
}
|
|
|
|
dlog reset
|
|
dlog on
|
|
xdistcs res_$ic sb1tu U1 U2 10
|
|
set Log1 [dlog get]
|
|
set List1 [split ${Log1} {TD= \t\n}]
|
|
set Tolerance 1.0e-7
|
|
set Limit_Tol 1.0e-7
|
|
set D_good 0.
|
|
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
|
|
|
|
dlog reset
|
|
dlog on
|
|
xdistcs res_$ic sb2 U1 U2 10
|
|
set Log1 [dlog get]
|
|
set List1 [split ${Log1} {TD= \t\n}]
|
|
set Tolerance 1.0e-7
|
|
set Limit_Tol 1.0e-7
|
|
set D_good 0.
|
|
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
|
|
|
|
incr ic
|
|
}
|
|
}
|
|
|
|
if {[expr {$ic - 1}] == $GoodNbCurv} {
|
|
puts "OK: Curve Number is good!"
|
|
} else {
|
|
puts "Error: Curve Number is bad!"
|
|
}
|
|
|
|
smallview
|
|
fit
|
|
set only_screen_axo 1
|