1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0028009: [Regression vs OCCT7.0.0] Cut produces not valid shape

The algorithm in WorkWithBoundaries::BoundaryEstimation(...) did not take into account opposite directions of cylindrical axes (when the angle between them is obtuse). After the fix it does it.

Small correction of test cases for issue CR28009
This commit is contained in:
nbv
2016-11-02 15:39:37 +03:00
committed by apn
parent e2e0498b17
commit c9c7286e56
3 changed files with 61 additions and 2 deletions

View File

@@ -2452,8 +2452,9 @@ void WorkWithBoundaries::BoundaryEstimation(const gp_Cylinder& theCy1,
//projections of two opposite parallelogram vertices
//(joined by the maximal diagonal) to the cylinder axis.
const Standard_Real aSinA = sqrt(aSqSinA);
const Standard_Real aHDV1 = (aR1 * aCosA + aR2)/aSinA,
aHDV2 = (aR2 * aCosA + aR1)/aSinA;
const Standard_Real anAbsCosA = Abs(aCosA);
const Standard_Real aHDV1 = (aR1 * anAbsCosA + aR2) / aSinA,
aHDV2 = (aR2 * anAbsCosA + aR1) / aSinA;
#ifdef INTPATCH_IMPIMPINTERSECTION_DEBUG
//The code in this block is created for test only.It is stupidly to create