0028599: Replacement of old Boolean operations with new ones in BRepProj_Projection...
authoremv <emv@opencascade.com>
Tue, 26 Dec 2017 11:28:27 +0000 (14:28 +0300)
committerapn <apn@opencascade.com>
Thu, 1 Feb 2018 15:46:36 +0000 (18:46 +0300)
commit03cca6f742e2377fff6fa97bf357dfe3e6e832cc
treef6c65caad2c7ff7473e10e909862eb16e95d362c
parent95f688263d57d9d1a99d065b3bf718065d7701f8
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.
50 files changed:
dox/dev_guides/upgrade/upgrade.md
src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
src/BOPAlgo/BOPAlgo_SectionAttribute.cxx [deleted file]
src/BOPAlgo/BOPAlgo_SectionAttribute.hxx
src/BOPAlgo/BOPAlgo_SectionAttribute.lxx [deleted file]
src/BOPAlgo/FILES
src/BOPTest/BOPTest_BOPCommands.cxx
src/BRepAlgoAPI/BRepAlgoAPI_Section.cxx
src/BRepAlgoAPI/BRepAlgoAPI_Section.hxx
src/BRepProj/BRepProj_Projection.cxx
src/BRepTest/BRepTest_ProjectionCommands.cxx
src/ElCLib/ElCLib.cxx
src/Extrema/Extrema_ExtCS.cxx
src/Extrema/Extrema_ExtElCS.cxx
src/GeomAPI/GeomAPI_ExtremaCurveSurface.cxx
src/GeometryTest/GeometryTest_APICommands.cxx
src/IntPolyh/FILES
src/IntPolyh/IntPolyh_ArrayOfPointNormal.hxx [moved from src/IntTools/IntTools_BeanFaceIntersector.lxx with 54% similarity]
src/IntPolyh/IntPolyh_Intersection.cxx
src/IntPolyh/IntPolyh_Intersection.hxx
src/IntPolyh/IntPolyh_Intersection_1.cxx [deleted file]
src/IntPolyh/IntPolyh_MaillageAffinage.cxx
src/IntPolyh/IntPolyh_MaillageAffinage.hxx
src/IntPolyh/IntPolyh_Tools.cxx [new file with mode: 0644]
src/IntPolyh/IntPolyh_Tools.hxx [new file with mode: 0644]
src/IntTools/FILES
src/IntTools/IntTools_BeanFaceIntersector.cxx
src/IntTools/IntTools_BeanFaceIntersector.hxx
src/IntTools/IntTools_EdgeFace.cxx
src/IntTools/IntTools_EdgeFace.hxx
tests/bugs/modalg_1/buc60462_2
tests/bugs/modalg_1/buc60463
tests/bugs/modalg_6/bug26063
tests/bugs/modalg_7/bug23927
tests/bugs/modalg_7/bug25385
tests/bugs/moddata_3/bug25407_1
tests/bugs/moddata_3/bug25407_2
tests/de/step_1/J6
tests/lowalgos/extcs/bug29426_1 [new file with mode: 0644]
tests/lowalgos/extcs/bug29426_2 [new file with mode: 0644]
tests/lowalgos/extcs/circ_sph_inter [new file with mode: 0644]
tests/lowalgos/extcs/circ_sph_nointer [new file with mode: 0644]
tests/lowalgos/extcs/circ_sph_parallel [new file with mode: 0644]
tests/lowalgos/extcs/circ_sph_touch [new file with mode: 0644]
tests/lowalgos/grids.list
tests/prj/base/C5
tests/prj/base/D9
tests/prj/base/E2
tests/prj/base/E7
tests/prj/base/H4