1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0025971: Near B-Spline knots get merged after saving/restoring (exporting/importing)

Precision used to consider B-Spline knots identical is restricted to be not less than Precision::PConfusion() in Geom2d_BSplineCurve::Segment().

Affected tests updated (improvements)

Test case for issue CR25971
This commit is contained in:
Roman Lygin
2015-04-30 14:17:13 +03:00
committed by bugmaster
parent 062d7dfd62
commit 7b1c1b7cbb
8 changed files with 74 additions and 35 deletions

View File

@@ -33,6 +33,7 @@
#include <BSplCLib.hxx>
#include <BSplCLib_KnotDistribution.hxx>
#include <BSplCLib_MultDistribution.hxx>
#include <Precision.hxx>
#include <Standard_NotImplemented.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_OutOfRange.hxx>
@@ -686,7 +687,7 @@ void Geom2d_BSplineCurve::Segment(const Standard_Real aU1,
Standard_DomainError_Raise_if ( aU2 < aU1, "Geom2d_BSplineCurve::Segment");
//
Standard_Real AbsUMax = Max(Abs(FirstParameter()),Abs(LastParameter()));
Standard_Real Eps = Epsilon(AbsUMax);
Standard_Real Eps = Max (Epsilon(AbsUMax), Precision::PConfusion());
Standard_Real NewU1, NewU2;
Standard_Real U, DU=0;
Standard_Integer i, k, index;