0026444: Boolean operation "bcut" gives invalid result between solid and halfspace...
authoremv <emv@opencascade.com>
Wed, 29 Jul 2015 12:24:03 +0000 (15:24 +0300)
committerbugmaster <bugmaster@opencascade.com>
Wed, 29 Jul 2015 12:25:01 +0000 (15:25 +0300)
commit787c4320b1f35b0bec9b5ef1996a1febfe014b5c
treeb696b6cecf422e416363a8bdee3a593a85bba6a0
parentc7d774c557f6ebcccb1abed2f20d3184ed604f94
0026444: Boolean operation "bcut" gives invalid result between solid and halfspace solid.

class BOPAlgo_PaveFiller
method void BOPAlgo_PaveFiller::PutPaveOnCurve
  (const Standard_Integer nV,
   const Standard_Real aTolR3D,
   BOPDS_Curve& aNC,
   const BOPCol_MapOfInteger& aMI,
   BOPCol_DataMapOfIntegerReal& aMVTol,
   const Standard_Integer iCheckExtend)

Do not put the pave on the curve in case if there is already one with the same parameter.
Update tolerance of the existing vertex to reach the new one.

Added test case bugs/modalg_6/bug26444.
Test boolean/volumemaker/G1 is stable now (deleted TODOs), test offset/faces_type_i/C9 is bad (offset is done with wrong result).
src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx
src/BOPAlgo/BOPAlgo_PaveFiller_8.cxx
src/BOPDS/BOPDS_PaveBlock.cxx
src/BOPDS/BOPDS_PaveBlock.hxx
tests/boolean/volumemaker/G1
tests/bugs/modalg_6/bug26444 [new file with mode: 0644]
tests/offset/faces_type_i/C9