]> OCCT Git - occt-copy.git/commit
0029711: General Fuse operation produces invalid result CR29900_730
authoremv <emv@opencascade.com>
Wed, 16 May 2018 09:12:09 +0000 (12:12 +0300)
committeremv <emv@opencascade.com>
Fri, 29 Jun 2018 12:24:04 +0000 (15:24 +0300)
commitb5c28259810d302d2d9fb7dfe7505b9bb678e2ab
tree17418d4614da8e50067e143996a71b98987f15a2
parent42da0d5115bff683c6b596e66cdeaff957f81e7d
0029711: General Fuse operation produces invalid result

Boolean Operations algorithm improvements:
1. To be able to add/remove elements into the tree of bounding boxes UBTree is replaced with EBTree in Boolean operations.
2. Perform repeated (nested) intersection of sub-shapes of the arguments with vertices which tolerances have been increased during the operation.
3. Edge/Edge and Edge/Face intersection point creation improvement for the cases when intersection point is located close to the edge's boundaries.
4. Forced Edge/Face intersection procedure to ensure common blocks creation.
5. Face/Face intersection post treatment stage improvements.
6. Avoid extension of the planar faces for Plane/Plane intersection.
7. Builder Face algorithm - improve classification of the potentially internal edges relatively new faces by adding filtering by bounding boxes.

Side effect changes:
1. IntTools_ShrunkRange is now keeps the length of the valid range of the edge.
2. The method BOPDS_DS::UpdateEdgeTolerance() has been removed as unused (replaced by the BOPAlgo_PaveFiller::UpdateEdgeTolerance()).

Test case for the issue 0029900.
Test case for the issue 0029711.
Adjustments of the existing test cases.
49 files changed:
src/BOPAlgo/BOPAlgo.msg
src/BOPAlgo/BOPAlgo_Alerts.hxx
src/BOPAlgo/BOPAlgo_BOPAlgo_msg.pxx
src/BOPAlgo/BOPAlgo_BuilderFace.cxx
src/BOPAlgo/BOPAlgo_BuilderSolid.cxx
src/BOPAlgo/BOPAlgo_Builder_2.cxx
src/BOPAlgo/BOPAlgo_PaveFiller.cxx
src/BOPAlgo/BOPAlgo_PaveFiller.hxx
src/BOPAlgo/BOPAlgo_PaveFiller_1.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_10.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_2.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_4.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_7.cxx
src/BOPAlgo/BOPAlgo_Tools.cxx
src/BOPAlgo/BOPAlgo_Tools.hxx
src/BOPDS/BOPDS_CommonBlock.cxx
src/BOPDS/BOPDS_CommonBlock.hxx
src/BOPDS/BOPDS_DS.cxx
src/BOPDS/BOPDS_DS.hxx
src/BOPDS/BOPDS_DS.lxx
src/BOPDS/BOPDS_Iterator.cxx
src/BOPDS/BOPDS_Iterator.hxx
src/BOPTest/BOPTest_DebugCommands.cxx
src/BOPTools/BOPTools_AlgoTools.cxx
src/BOPTools/BOPTools_BoxBndTree.hxx
src/IntTools/IntTools_Context.cxx
src/IntTools/IntTools_EdgeFace.cxx
src/IntTools/IntTools_FaceFace.cxx
src/IntTools/IntTools_ShrunkRange.cxx
src/IntTools/IntTools_ShrunkRange.hxx
tests/boolean/bcut_complex/F2
tests/boolean/bfuse_complex/F5
tests/boolean/bfuse_complex/Q2
tests/boolean/bsection/N2
tests/boolean/bsection/R8
tests/bugs/modalg_1/buc60462_2
tests/bugs/modalg_1/buc60703_3
tests/bugs/modalg_2/bug472_3
tests/bugs/modalg_6/bug26619
tests/bugs/modalg_7/bug23660
tests/bugs/modalg_7/bug26933
tests/bugs/modalg_7/bug27049
tests/bugs/modalg_7/bug28393_1
tests/bugs/modalg_7/bug29711 [new file with mode: 0644]
tests/bugs/modalg_7/bug29900 [new file with mode: 0644]
tests/bugs/moddata_2/bug26_2