• emv's avatar
    0025597: Invalid curve on surface in the result of General Fuse operation · 1b7ae951
    emv authored
    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.
    1b7ae951
BOPAlgo_PaveFiller_6.cxx 64.2 KB