occt: master 1b7ae951

Author Committer Branch Timestamp Parent
emv bugmaster master 2015-01-22 13:54:54 master e2da917a
Changeset 0025597: Invalid curve on surface in the result of General Fuse operation

1. The tool of computing the max distance between 3D curve and its 2d representation on the face
has been moved from static methods in BOPTools_AlgoTools class to BRepLib_CheckCurveOnSurface class.
2. The tools has been applied to 2d curves built during Boolean Operation
and to some intersection curves.
3. The functions
  Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
    (const TopoDS_Face& theFace,
     const TopoDS_Edge& theEdge,
     Standard_Real& theMaxDist,
     Standard_Real& theMaxPar)
and
  Standard_Boolean IntTools_Tools::ComputeTolerance
    (const Handle(Geom_Curve)& theCurve3D,
     const Handle(Geom2d_Curve)& theCurve2D,
     const Handle(Geom_Surface)& theSurf,
     const Standard_Real theFirst,
     const Standard_Real theLast,
     Standard_Real& theMaxDist,
     Standard_Real& theMaxPar)
have been developed for easy access to BRepLib_CheckCurveOnSurface functionality.

class IntTools_FaceFace
method void IntTools_FaceFace::ComputeTolReached3d()
Case for Plane/BSpline intersection added for treatment.

Test case for issue CR25597

Fix for regression boolean bsection N7.

class BOPAlgo_PaveFiller
method
  void BOPAlgo_PaveFiller::UpdateFaceInfo
    (BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
     const BOPCol_DataMapOfIntegerInteger& theDMV)
Updating Face Info information with new vertices created in PostTreatFF.

Correction boolean/bsection/N2

Updated test cases.
mod - src/BOPAlgo/BOPAlgo_PaveFiller.cdl Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
mod - src/BOPTest/BOPTest_CheckCommands.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools.cdl Diff File
mod - src/BOPTools/BOPTools_AlgoTools2D.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools_1.cxx Diff File
mod - src/BRepLib/BRepLib.cdl Diff File
add - src/BRepLib/BRepLib_CheckCurveOnSurface.cdl Diff File
add - src/BRepLib/BRepLib_CheckCurveOnSurface.cxx Diff File
add - src/BRepLib/BRepLib_CheckCurveOnSurface.lxx Diff File
mod - src/IntTools/IntTools_FaceFace.cdl Diff File
mod - src/IntTools/IntTools_FaceFace.cxx Diff File
mod - src/IntTools/IntTools_Tools.cdl Diff File
mod - src/IntTools/IntTools_Tools.cxx Diff File
mod - tests/boolean/bsection/N2 Diff File
mod - tests/bugs/modalg_2/bug22967 Diff File
mod - tests/bugs/modalg_2/bug23218 Diff File
mod - tests/bugs/modalg_5/bug24558 Diff File
mod - tests/bugs/modalg_5/bug24915 Diff File
mod - tests/bugs/modalg_5/bug25292_32 Diff File
add - tests/bugs/modalg_5/bug25597 Diff File