mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-06-27 07:27:11 +08:00
0024646: Wrong result done by Boolean Operation algorithm
1. class BOPAlgo_PaveFiller
method void BOPAlgo_PaveFiller::PerformEF()
Do not create intersection vertices in case if it lies ON the boundary of the face.
2. class IntTools_Context
New method
Standard_Boolean IntTools_Context::IsPointInFace
(const gp_Pnt& aP,
const TopoDS_Face& aF,
const Standard_Real aTol)
has been implemented to check if the point IN the face.
3. class IntTools_EdgeFace
method
void IntTools_EdgeEdge::FindBestSolution(const Standard_Real aT11,
const Standard_Real aT12,
const Standard_Real aT21,
const Standard_Real aT22,
Standard_Real& aT1,
Standard_Real& aT2)
Treatment of the touching cases.
Test cases for issue CR24646
Correction of test cases for issue CR24646
This commit is contained in:
@@ -9,6 +9,8 @@ puts ""
|
||||
restore [locate_data_file bug24286_pipeFiss.brep] b1
|
||||
restore [locate_data_file bug24286_shellFiss.brep] b2
|
||||
|
||||
bfuzzyvalue 5.e-6
|
||||
|
||||
bclearobjects
|
||||
bcleartools
|
||||
baddobjects b1 b2
|
||||
|
||||
33
tests/bugs/modalg_5/bug24646_1
Normal file
33
tests/bugs/modalg_5/bug24646_1
Normal file
@@ -0,0 +1,33 @@
|
||||
puts "============"
|
||||
puts "OCC24646"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# Wrong result done by Boolean Operation algorithm
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug24646_b1.brep] b1
|
||||
restore [locate_data_file bug24646_b2.brep] b2
|
||||
|
||||
bop b1 b2
|
||||
bopfuse result
|
||||
|
||||
bopcheck result
|
||||
|
||||
set square 8.76332e+06
|
||||
|
||||
set nbshapes_expected "
|
||||
Number of shapes in shape
|
||||
VERTEX : 88
|
||||
EDGE : 180
|
||||
WIRE : 86
|
||||
FACE : 86
|
||||
SHELL : 1
|
||||
SOLID : 1
|
||||
COMPSOLID : 0
|
||||
COMPOUND : 1
|
||||
SHAPE : 443
|
||||
"
|
||||
checknbshapes result ${nbshapes_expected} 1 "Result done by Boolean Operation algorithm"
|
||||
|
||||
set 2dviewer 1
|
||||
31
tests/bugs/modalg_5/bug24646_2
Normal file
31
tests/bugs/modalg_5/bug24646_2
Normal file
@@ -0,0 +1,31 @@
|
||||
puts "============"
|
||||
puts "OCC24646"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# Wrong result done by Boolean Operation algorithm
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug24646_b3.brep] b1
|
||||
restore [locate_data_file bug24646_b4.brep] b2
|
||||
|
||||
bop b1 b2
|
||||
bopfuse result
|
||||
|
||||
set square 3.05204e+06
|
||||
|
||||
set nbshapes_expected "
|
||||
Number of shapes in shape
|
||||
VERTEX : 22
|
||||
EDGE : 36
|
||||
WIRE : 17
|
||||
FACE : 14
|
||||
SHELL : 1
|
||||
SOLID : 1
|
||||
COMPSOLID : 0
|
||||
COMPOUND : 1
|
||||
SHAPE : 92
|
||||
"
|
||||
checknbshapes result ${nbshapes_expected} 1 "Result done by Boolean Operation algorithm"
|
||||
|
||||
set 2dviewer 1
|
||||
39
tests/bugs/modalg_5/bug24646_3
Normal file
39
tests/bugs/modalg_5/bug24646_3
Normal file
@@ -0,0 +1,39 @@
|
||||
puts "============"
|
||||
puts "OCC24646"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# Wrong result done by Boolean Operation algorithm
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug24646_b1.brep] b1
|
||||
restore [locate_data_file bug24646_b2.brep] b2
|
||||
|
||||
nurbsconvert b1 b1
|
||||
nurbsconvert b2 b2
|
||||
|
||||
bclearobjects
|
||||
bcleartools
|
||||
baddobjects b1
|
||||
baddtools b2
|
||||
|
||||
bfillds
|
||||
bbuild result
|
||||
|
||||
set square 8.82625e+06
|
||||
|
||||
set nbshapes_expected "
|
||||
Number of shapes in shape
|
||||
VERTEX : 88
|
||||
EDGE : 180
|
||||
WIRE : 88
|
||||
FACE : 88
|
||||
SHELL : 2
|
||||
SOLID : 2
|
||||
COMPSOLID : 0
|
||||
COMPOUND : 1
|
||||
SHAPE : 449
|
||||
"
|
||||
checknbshapes result ${nbshapes_expected} 1 "Result done by Boolean Operation algorithm"
|
||||
|
||||
set 2dviewer 1
|
||||
39
tests/bugs/modalg_5/bug24646_4
Normal file
39
tests/bugs/modalg_5/bug24646_4
Normal file
@@ -0,0 +1,39 @@
|
||||
puts "============"
|
||||
puts "OCC24646"
|
||||
puts "============"
|
||||
puts ""
|
||||
######################################################
|
||||
# Wrong result done by Boolean Operation algorithm
|
||||
######################################################
|
||||
|
||||
restore [locate_data_file bug24646_b3.brep] b1
|
||||
restore [locate_data_file bug24646_b4.brep] b2
|
||||
|
||||
nurbsconvert b1 b1
|
||||
nurbsconvert b2 b2
|
||||
|
||||
bclearobjects
|
||||
bcleartools
|
||||
baddobjects b1
|
||||
baddtools b2
|
||||
|
||||
bfillds
|
||||
bbuild result
|
||||
|
||||
set square 3.1449e+06
|
||||
|
||||
set nbshapes_expected "
|
||||
Number of shapes in shape
|
||||
VERTEX : 22
|
||||
EDGE : 38
|
||||
WIRE : 20
|
||||
FACE : 18
|
||||
SHELL : 3
|
||||
SOLID : 3
|
||||
COMPSOLID : 0
|
||||
COMPOUND : 1
|
||||
SHAPE : 105
|
||||
"
|
||||
checknbshapes result ${nbshapes_expected} 1 "Result done by Boolean Operation algorithm"
|
||||
|
||||
set 2dviewer 1
|
||||
@@ -1,5 +1,3 @@
|
||||
puts "TODO OCC25319 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "================"
|
||||
puts "OCC25319"
|
||||
puts "================"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
puts "TODO OCC25319 ALL: Faulty shapes in variables faulty_1 to faulty_"
|
||||
|
||||
puts "================"
|
||||
puts "OCC25319"
|
||||
puts "================"
|
||||
|
||||
Reference in New Issue
Block a user