mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-08 18:40:55 +03:00
1. Checking, if intersection curve is collapsed, is added. (file GeomInt_LineConstructor.cxx) 2. Earlier, intersection line was considered as valid if only mid-point of every interval of this line is into two intersected surfaces (with given tolerance). That's no good because after inserting of new points, old points, which is considered as valid only because they are into beginning or into end of interval (therefore, they was not checked), moved to mid of interval and became invalid. Therefore, checking for first and last points was added. (file GeomInt_LineConstructor.cxx) 3. Intersection line became valid (see bug description) after adding of new additional points into it (file IntPatch_PrmPrmIntersection.cxx). Methods for finding and adding of new points were added. (file IntWalk_PWalking_1.gxx) Some test cases were changed. Test cases for issue CR24472
40 lines
1.1 KiB
Plaintext
Executable File
40 lines
1.1 KiB
Plaintext
Executable File
|
|
puts "================"
|
|
puts "OCC13"
|
|
puts "================"
|
|
puts ""
|
|
##################################################
|
|
## It is impossible to intersect two surfaces
|
|
##################################################
|
|
|
|
puts "TODO OCC24472 ALL: Error : Intersection was made WRONGLY"
|
|
|
|
restore [locate_data_file OCC13-1.draw] su1
|
|
############### checkshape su1 # is not a topological shape
|
|
restore [locate_data_file OCC13-2.draw] su2
|
|
############### checkshape su2 # is not a topological shape
|
|
|
|
#Try to intersect two surfaces with tolerance 0.1
|
|
#note that distance between shapes is about 0.005942345501409
|
|
|
|
catch {intersect res su1 su2 0.1 } result
|
|
set nom 0
|
|
set j 1
|
|
repeat 10 {
|
|
set che [whatis res_$j]
|
|
set che1 [whatis res_$j]
|
|
set err [lindex $che [expr [llength $che] - 1]]
|
|
set err1 [lindex $che1 [expr [llength $che1] - 2]]
|
|
|
|
if { $err != "curve" && $err1 != "3d"} {
|
|
break
|
|
} else {
|
|
set nom [expr $nom + 1]
|
|
}
|
|
incr j}
|
|
if { $nom == 0} {
|
|
puts "Error : Intersection was made WRONGLY"
|
|
}
|
|
|
|
|