mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-29 14:00:49 +03:00
0028599: Replacement of old Boolean operations with new ones in BRepProj_Projection algorithm
The usage of *BRepAlgo_Section* has been replaced with the usage of *BRepAlgoAPI_Section* in *BRepProj_Projection* algorithm. The TODO statements have been removed from the failing test case in the "prj" grid as they are working correctly now. The following changes have been made to improve the performance *BRepAlgoAPI_Section*: 1. Revision of the *IntPolyh_Intersection* class to avoid repeated calculation of the deflection of the same triangulation. 2. Small revision of the Edge/Face intersection algorithm to perform Extrema computation on the whole intersection range of the edge instead of discrete ranges. 3. Implementation of the extrema computation for the Circle and Sphere. 4. Correct computation of the parameter of the point on the Circle.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
puts "TODO OCC27024 ALL: Error : operation bfuse is WRONG because number of SOLID entities in shape"
|
||||
puts "TODO OCC27024 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "=========="
|
||||
puts "BUC60462"
|
||||
@@ -13,8 +12,7 @@ puts "Fuse begin"
|
||||
bfuse result a b
|
||||
puts "Fuse end"
|
||||
|
||||
checkshape result r
|
||||
checkshape result
|
||||
checknbshapes result -solid 1 -m "operation bfuse"
|
||||
checkprops result -s 93237.9
|
||||
checkshape result
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@@ -1,6 +1,3 @@
|
||||
puts "TODO OCC12345 ALL: Error : The length of result shape is"
|
||||
puts "TODO OCC12345 ALL: Faulty : Section is incorrect"
|
||||
|
||||
puts "============="
|
||||
puts "BUC60463"
|
||||
puts "============="
|
||||
@@ -18,8 +15,7 @@ if { $cs != 0 } {
|
||||
puts "Faulty : Section is incorrect"
|
||||
}
|
||||
|
||||
checkprops result -l 0
|
||||
checkprops result -l 520.961
|
||||
checkshape result
|
||||
checksection result
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
||||
|
@@ -10,18 +10,18 @@ polyline l 0 -10 -10 0 10 -10 0 10 10 0 -10 10 0 -10 -10
|
||||
mkplane pl l
|
||||
mksurface surf pl
|
||||
|
||||
vinit
|
||||
vdisplay pl
|
||||
vertex v1 10 -5 0
|
||||
vertex v2 10 5 0
|
||||
edge e v1 v2
|
||||
mkcurve curv e
|
||||
vdisplay e
|
||||
vfit
|
||||
|
||||
set bug_info [extrema surf curv]
|
||||
if {$bug_info != "No solutions!\n"} {
|
||||
if {$bug_info != "Infinite number of extremas, distance = 10\n"} {
|
||||
puts "ERROR: OCC25063 is reproduced."
|
||||
}
|
||||
|
||||
checkview -screenshot -3d -path ${imagedir}/${test_image}.png
|
||||
smallview
|
||||
don pl e
|
||||
fit
|
||||
|
||||
checkview -screenshot -2d -path ${imagedir}/${test_image}.png
|
||||
|
@@ -24,8 +24,8 @@ explode line V
|
||||
set tol_abs 0.001
|
||||
set tol_rel 0
|
||||
|
||||
distmini d p_1_1 line_1
|
||||
distmini d p_1_1 line_2
|
||||
checkreal "Projection, p1" [dval d_val] 0 $tol_abs $tol_rel
|
||||
|
||||
distmini d p_1_2 line_2
|
||||
distmini d p_1_2 line_1
|
||||
checkreal "Projection, p2" [dval d_val] 0 $tol_abs $tol_rel
|
||||
|
@@ -1,5 +1,3 @@
|
||||
puts "TODO OCC25385 ALL: is not equal to expected"
|
||||
|
||||
puts "============"
|
||||
puts "OCC25385"
|
||||
puts "============"
|
||||
@@ -22,3 +20,5 @@ regexp {Tolerance +MAX=([-0-9.+eE]+)} [tolerance s] full MaxTol_s_2
|
||||
set tol_abs_MaxTol 0.0001
|
||||
set tol_rel_MaxTol 0.0001
|
||||
checkreal "MaxTolerance " ${MaxTol_s_2} ${MaxTol_s_1} ${tol_abs_MaxTol} ${tol_rel_MaxTol}
|
||||
|
||||
checkprops r -l 36.2401
|
@@ -15,11 +15,8 @@ mksurface s f
|
||||
extrema c s
|
||||
|
||||
if { [isdraw ext_1] } {
|
||||
mkedge result ext_1
|
||||
checkprops result -l 1.88322e-11
|
||||
checksection result
|
||||
set len [lindex [length ext_1] end]
|
||||
checkreal "Extrema min distance" $len 1.88322e-11 1.e-7 1.e-7
|
||||
} else {
|
||||
puts "Error: invalid result"
|
||||
}
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
@@ -18,11 +18,8 @@ trim ct c 1.1167213545471877e-008 0.033333343614041021
|
||||
extrema ct st
|
||||
|
||||
if { [isdraw ext_1] } {
|
||||
mkedge result ext_1
|
||||
checkprops result -l 1.00005e-07
|
||||
checksection result
|
||||
set len [lindex [length ext_1] end]
|
||||
checkreal "Extrema min distance" $len 1.00005e-07 1.e-7 1.e-7
|
||||
} else {
|
||||
puts "Error: invalid result"
|
||||
}
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
|
Reference in New Issue
Block a user