1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-16 10:54:53 +03:00

0028812: Regression. bugs modalg_6 bug28468_2 test case is crashed if CSF_FPE set to 1.

Test the possibility of line creation is added
This commit is contained in:
ifv 2017-06-06 09:56:24 +03:00 committed by bugmaster
parent b07ce12b5f
commit 5fdf69c9db
2 changed files with 21 additions and 2 deletions

View File

@ -24,7 +24,16 @@ GCPnts_DistFunction::GCPnts_DistFunction(const Adaptor3d_Curve& theCurve,
myU1(U1), myU2(U2)
{
gp_Pnt P1 = theCurve.Value(U1), P2 = theCurve.Value(U2);
if (P1.SquareDistance(P2) > gp::Resolution())
{
myLin = gp_Lin(P1, P2.XYZ() - P1.XYZ());
}
else
{
//For #28812
theCurve.D0(U1 + .01*(U2-U1), P2);
myLin = gp_Lin(P1, P2.XYZ() - P1.XYZ());
}
}
//
//=======================================================================

View File

@ -25,7 +25,17 @@ GCPnts_DistFunction2d::GCPnts_DistFunction2d(const Adaptor2d_Curve2d& theCurve,
myU1(U1), myU2(U2)
{
gp_Pnt2d P2d1 = theCurve.Value(U1), P2d2 = theCurve.Value(U2);
if (P2d1.SquareDistance(P2d2) > gp::Resolution())
{
myLin = gp_Lin2d(P2d1, P2d2.XY() - P2d1.XY());
}
else
{
//For #28812
theCurve.D0(U1 + .01*(U2 - U1), P2d2);
myLin = gp_Lin2d(P2d1, P2d2.XY() - P2d1.XY());
}
}
//=======================================================================