occt: master 5652dc62

Author Committer Branch Timestamp Parent
emv bugmaster master 2017-03-29 05:46:31 master 769a2e88
Changeset 0028591: BOP Cut creates wrong result

The Face/Face intersection procedure has been changed in Boolean Operations algorithm.
Previously, the intersection tolerance for all section curves between pair of faces has been calculated
as the maximal tolerance among all curves. Now, each curve has its own valid tolerance calculated
as the maximal deviation of the 3D curve from its 2D curves on faces or surfaces in case there are no 2D curves.

Thus, such methods of IntTools_FaceFace algorithm as TolReached3d(), TolReal() and TolReached2d() have been removed.
Now the tolerances of the curve can be obtained from the curve itself (IntTools_Curve - result of intersection):
- IntTools_Curve::Tolerance() - returns the valid tolerance for the curve;
- IntTools_Curve::TangentialTolerance() - returns the tangential tolerance, which depends on the size of the common
  between faces. Currently, this tolerance is computed for Plane/Plane cases only. For other case, the value
  of the tangential tolerance is the maximal tolerance of faces.

2D intersection tolerance (IntTools_FaceFace::TolReached2d()) has been completely removed from the algorithm as unused.
mod - dox/dev_guides/upgrade/upgrade.md Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller.hxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/BOPDS/BOPDS_Curve.hxx Diff File
mod - src/BOPDS/BOPDS_Curve.lxx Diff File
mod - src/BOPDS/BOPDS_Interf.hxx Diff File
mod - src/BOPTest/BOPTest_BOPCommands.cxx Diff File
mod - src/IntTools/FILES Diff File
mod - src/IntTools/IntTools_Curve.cxx Diff File
mod - src/IntTools/IntTools_Curve.hxx Diff File
rm - src/IntTools/IntTools_Curve.lxx Diff File
mod - src/IntTools/IntTools_FaceFace.cxx Diff File
mod - src/IntTools/IntTools_FaceFace.hxx Diff File
mod - src/IntTools/IntTools_Tools.cxx Diff File
mod - src/IntTools/IntTools_Tools.hxx Diff File
add - tests/bugs/modalg_6/bug28591 Diff File