mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
The algorithm has been improved for the cases when the intersection line goes through the cone apex. <!break> 1. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet. 2. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine. 3. Test cases have been created. 4. Procedure of trimming IntAna_Curve has been improved. 5. Criterion when the discriminant of IntAna_Curve can be considered to be equal to 0 has been improved. 6. Methods IntAna_Curve::FindParameter(...) (and IntPatch_ALine::FindParameter(...)) currently returns list of all parameters corresponding the given point (IntAna_Curve can be self-interfered curve). Before the fix, this method always returned only one (randomly chosen) parameter. 7. Interfaces of the following methods have been changed: IntAna_Curve::FindParameter(...), IntPatch_ALine::FindParameter(...), IntPatch_ALine::ChangeVertex(...), IntPatch_SpecialPoints::AddPointOnUorVIso(...), IntPatch_SpecialPoints::AddSingularPole(...), IntPatch_WLineTool::ExtendTwoWLines(). 8. Following methods have been added: IntAna_Quadric::SpecialPoints(...), IntPatch_ALineToWLine::GetSectionRadius(...), IntPatch_SpecialPoints::ProcessSphere(...), IntPatch_SpecialPoints::ProcessCone(...), IntPatch_SpecialPoints::GetTangentToIntLineForCone(...). ------------------ 1) tests/boolean/volumemaker/C5 tests/boolean/volumemaker/C6 tests/boolean/volumemaker/E7 They are real IMPROVEMENTS. In the FIX (in compare with MASTER), section result between pairs of faces f2&f6 (C5), f3&f7 (C6) and f1&f5 (E7) is closed. Separated test cases have been created in order to focus on the problem with section. Bug #28503 has been fixed. Correction in test cases.
112 lines
1.7 KiB
Plaintext
112 lines
1.7 KiB
Plaintext
puts "============"
|
|
puts "OCC25542: Boolean operation fai-lure for Cylinder and Cone in critical location."
|
|
puts "============"
|
|
puts ""
|
|
|
|
restore [locate_data_file bug25542_cylinder.brep] b1
|
|
restore [locate_data_file bug25542_cone.brep] b2
|
|
|
|
smallview
|
|
|
|
bop b1 b2
|
|
|
|
puts ""
|
|
puts "FUSE"
|
|
|
|
bopfuse rfu
|
|
donly rfu
|
|
fit
|
|
xwd ${imagedir}/${casename}_rfu.png
|
|
|
|
puts ""
|
|
puts "COMMON"
|
|
|
|
bopcommon rco
|
|
donly rco
|
|
fit
|
|
xwd ${imagedir}/${casename}_rco.png
|
|
|
|
puts ""
|
|
puts "CUT"
|
|
|
|
bopcut rcu
|
|
donly rcu
|
|
fit
|
|
xwd ${imagedir}/${casename}_rcu.png
|
|
|
|
puts ""
|
|
puts "TUC"
|
|
|
|
boptuc rtu
|
|
donly rtu
|
|
fit
|
|
xwd ${imagedir}/${casename}_rtu.png
|
|
|
|
|
|
set exp_nbshapes_rfu "
|
|
Number of shapes in shape
|
|
VERTEX : 6
|
|
EDGE : 14
|
|
WIRE : 8
|
|
FACE : 8
|
|
SHELL : 1
|
|
SOLID : 1
|
|
COMPSOLID : 0
|
|
COMPOUND : 1
|
|
SHAPE : 39
|
|
"
|
|
|
|
set exp_nbshapes_rco "
|
|
Number of shapes in shape
|
|
VERTEX : 3
|
|
EDGE : 5
|
|
WIRE : 3
|
|
FACE : 3
|
|
SHELL : 1
|
|
SOLID : 1
|
|
COMPSOLID : 0
|
|
COMPOUND : 1
|
|
SHAPE : 17
|
|
"
|
|
|
|
set exp_nbshapes_rcu "
|
|
Number of shapes in shape
|
|
VERTEX : 5
|
|
EDGE : 9
|
|
WIRE : 5
|
|
FACE : 5
|
|
SHELL : 1
|
|
SOLID : 1
|
|
COMPSOLID : 0
|
|
COMPOUND : 1
|
|
SHAPE : 27
|
|
"
|
|
|
|
set exp_nbshapes_rtu "
|
|
Number of shapes in shape
|
|
VERTEX : 4
|
|
EDGE : 8
|
|
WIRE : 4
|
|
FACE : 4
|
|
SHELL : 1
|
|
SOLID : 1
|
|
COMPSOLID : 0
|
|
COMPOUND : 1
|
|
SHAPE : 23
|
|
"
|
|
|
|
checknbshapes rfu -ref ${exp_nbshapes_rfu} -t -m "FUSE"
|
|
checknbshapes rco -ref ${exp_nbshapes_rco} -t -m "COMMON"
|
|
checknbshapes rcu -ref ${exp_nbshapes_rcu} -t -m "CUT"
|
|
checknbshapes rtu -ref ${exp_nbshapes_rtu} -t -m "TUC"
|
|
|
|
checkshape rfu
|
|
checkshape rco
|
|
checkshape rcu
|
|
checkshape rtu
|
|
|
|
checkprops rfu -s 59099.9
|
|
checkprops rco -s 6951.3
|
|
checkprops rcu -s 57145.3
|
|
checkprops rtu -s 7759.96
|