0027434: Wrong result of classification of the point in "infinity"
authoraka <aka@opencascade.com>
Thu, 8 Dec 2016 13:33:47 +0000 (16:33 +0300)
committerapn <apn@opencascade.com>
Thu, 8 Dec 2016 13:34:18 +0000 (16:34 +0300)
commita148c938b0539ae517391607f4c8cfd460e0f512
tree736d87dc2e72c790fdb206d283a36d43fa8da3a1
parent8013367c92dfed487c45d8e2a4b9c7083b57fbf5
0027434: Wrong result of classification of the point in "infinity"

In the case of infinite point due to not enough machine precision the distance from the point to each edge of the face is computed the same, and the algorithm cannot correctly select the nearest edge. To solve this problem checking of point was added, if the point is located too far from the bounding box of the face, then it will be replaced with another point located on the line between the point and the center of the bounding box.
    The new point has the same state as initial one but its state can be resolved without ambiguity.

Corrections in CheckPoint method
Small correction of test case for issue CR27434
src/BRepClass/BRepClass_FaceExplorer.cxx
src/BRepClass/BRepClass_FaceExplorer.hxx
src/Geom2dHatch/Geom2dHatch_Elements.cxx
src/Geom2dHatch/Geom2dHatch_Elements.hxx
src/TopClass/TopClass_FaceClassifier.gxx
tests/bugs/modalg_6/bug27434 [new file with mode: 0644]