0024646: Wrong result done by Boolean Operation algorithm
authoremv <emv@opencascade.com>
Thu, 19 Feb 2015 13:07:21 +0000 (16:07 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 19 Feb 2015 13:08:20 +0000 (16:08 +0300)
commitbd28b2afac2d081104fcfbfdf43845e7dfd7a030
treeb898454166a24206506d6739416119736cac3866
parent7ad63454a589f583c1b5be7dd77ae668fa0f8dbf
0024646: Wrong result done by Boolean Operation algorithm

1. class BOPAlgo_PaveFiller
   method void BOPAlgo_PaveFiller::PerformEF()
   Do not create intersection vertices in case if it lies ON the boundary of the face.
2. class IntTools_Context
   New method
    Standard_Boolean IntTools_Context::IsPointInFace
        (const gp_Pnt& aP,
         const TopoDS_Face& aF,
         const Standard_Real aTol)
   has been implemented to check if the point IN the face.
3. class IntTools_EdgeFace
   method
    void IntTools_EdgeEdge::FindBestSolution(const Standard_Real aT11,
                                         const Standard_Real aT12,
                                         const Standard_Real aT21,
                                         const Standard_Real aT22,
                                         Standard_Real& aT1,
                                         Standard_Real& aT2)
   Treatment of the touching cases.

Test cases for issue CR24646

Correction of test cases for issue CR24646
13 files changed:
src/BOPAlgo/BOPAlgo_PaveFiller_5.cxx
src/BOPTools/BOPTools_AlgoTools_1.cxx
src/IntTools/IntTools_Context.cdl
src/IntTools/IntTools_Context.cxx
src/IntTools/IntTools_EdgeEdge.cxx
src/IntTools/IntTools_EdgeFace.cxx
tests/bugs/modalg_5/bug24286
tests/bugs/modalg_5/bug24646_1 [new file with mode: 0644]
tests/bugs/modalg_5/bug24646_2 [new file with mode: 0644]
tests/bugs/modalg_5/bug24646_3 [new file with mode: 0644]
tests/bugs/modalg_5/bug24646_4 [new file with mode: 0644]
tests/bugs/modalg_5/bug25319_1
tests/bugs/modalg_5/bug25319_2