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:
parent
b07ce12b5f
commit
5fdf69c9db
@ -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());
|
||||
}
|
||||
}
|
||||
//
|
||||
//=======================================================================
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
Loading…
x
Reference in New Issue
Block a user