1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-07 18:30:55 +03:00
emv 787c4320b1 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).
2015-07-29 15:25:01 +03:00

27 lines
988 B
Plaintext

# test script on make volume operation
# cone cylinder plane
# Error status: 102
# conical face
cone con_f1 -59.814698440000001 384.36473473000001 127 0.41716766026590824 -0.90882954575006414 -5.4874902763032048e-016 89.995898744693349 0
erase con_f1
mkface f1 con_f1 0 6.2831853071795862 0 1000000
# planar face
plane pln_f2 -59.810258374411447 384.355061729966 127 -0.41716766026590824 0.90882954575006414 5.4874902763032048e-016
erase pln_f2
mkface f2 pln_f2 -1000000 1000000 -1000000 1000000
# planar face
plane pln_f3 -59.814609898410502 384.36454183582288 127 0.41716766026590824 -0.90882954575006414 -5.4874902763032048e-016
erase pln_f3
mkface f3 pln_f3 -1000000 1000000 -1000000 1000000
# cylindrical face
cylinder cyl_f4 96.320637969732303 44.212751846651756 127 -0.41716766026590824 0.90882954575006414 -5.4874902763032048e-016 2.9079495799999999
erase cyl_f4
mkface f4 cyl_f4 0 6.2831853071795862 -1000000 1000000
# make volume operation
mkvolume result f1 f2 f3 f4