mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0026374: GeomFill_Profiler fails to unify BSplines if one has knot distance less than PConf
This commit is contained in:
@@ -571,7 +571,7 @@ void Geom_BSplineCurve::Segment(const Standard_Real U1,
|
|||||||
AbsUMax = Max(AbsUMax, Max(Abs(FirstParameter()),Abs(LastParameter())));
|
AbsUMax = Max(AbsUMax, Max(Abs(FirstParameter()),Abs(LastParameter())));
|
||||||
// Modified by Sergey KHROMOV - Fri Apr 11 12:15:40 2003 End
|
// Modified by Sergey KHROMOV - Fri Apr 11 12:15:40 2003 End
|
||||||
|
|
||||||
Standard_Real Eps = 100. * Epsilon(AbsUMax);
|
Standard_Real Eps = Max (Epsilon(AbsUMax), Precision::PConfusion());
|
||||||
|
|
||||||
InsertKnots( Knots, Mults, Eps);
|
InsertKnots( Knots, Mults, Eps);
|
||||||
|
|
||||||
|
@@ -541,7 +541,7 @@ void Geom_BSplineSurface::Segment(const Standard_Real U1,
|
|||||||
if ((U2 < U1) || (V2 < V1))
|
if ((U2 < U1) || (V2 < V1))
|
||||||
Standard_DomainError::Raise("Geom_BSplineSurface::Segment");
|
Standard_DomainError::Raise("Geom_BSplineSurface::Segment");
|
||||||
Standard_Real deltaU = Max(Abs(U2),Abs(U1));
|
Standard_Real deltaU = Max(Abs(U2),Abs(U1));
|
||||||
Standard_Real EpsU = Epsilon(deltaU);
|
Standard_Real EpsU = Max (Epsilon(deltaU), Precision::PConfusion());
|
||||||
deltaU = U2 - U1;
|
deltaU = U2 - U1;
|
||||||
if (uperiodic) {
|
if (uperiodic) {
|
||||||
Standard_Real aUPeriod = uknots->Last() - uknots->First();
|
Standard_Real aUPeriod = uknots->Last() - uknots->First();
|
||||||
@@ -552,7 +552,7 @@ void Geom_BSplineSurface::Segment(const Standard_Real U1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
Standard_Real deltaV = Max(Abs(V2),Abs(V1));
|
Standard_Real deltaV = Max(Abs(V2),Abs(V1));
|
||||||
Standard_Real EpsV = Epsilon(deltaV);
|
Standard_Real EpsV = Max (Epsilon(deltaV), Precision::PConfusion());
|
||||||
deltaV = V2 - V1;
|
deltaV = V2 - V1;
|
||||||
if (vperiodic) {
|
if (vperiodic) {
|
||||||
Standard_Real aVPeriod = vknots->Last() - vknots->First();
|
Standard_Real aVPeriod = vknots->Last() - vknots->First();
|
||||||
@@ -763,7 +763,7 @@ void Geom_BSplineSurface::CheckAndSegment(const Standard_Real U1,
|
|||||||
if ((U2 < U1) || (V2 < V1))
|
if ((U2 < U1) || (V2 < V1))
|
||||||
Standard_DomainError::Raise("Geom_BSplineSurface::CheckAndSegment");
|
Standard_DomainError::Raise("Geom_BSplineSurface::CheckAndSegment");
|
||||||
Standard_Real deltaU = Max(Abs(U2),Abs(U1));
|
Standard_Real deltaU = Max(Abs(U2),Abs(U1));
|
||||||
Standard_Real EpsU = Epsilon(deltaU);
|
Standard_Real EpsU = Max (Epsilon(deltaU), Precision::PConfusion());
|
||||||
deltaU = U2 - U1;
|
deltaU = U2 - U1;
|
||||||
if (uperiodic) {
|
if (uperiodic) {
|
||||||
Standard_Real aUPeriod = uknots->Last() - uknots->First();
|
Standard_Real aUPeriod = uknots->Last() - uknots->First();
|
||||||
@@ -774,7 +774,7 @@ void Geom_BSplineSurface::CheckAndSegment(const Standard_Real U1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
Standard_Real deltaV = Max(Abs(V2),Abs(V1));
|
Standard_Real deltaV = Max(Abs(V2),Abs(V1));
|
||||||
Standard_Real EpsV = Epsilon(deltaV);
|
Standard_Real EpsV = Max (Epsilon(deltaV), Precision::PConfusion());
|
||||||
deltaV = V2 - V1;
|
deltaV = V2 - V1;
|
||||||
if (vperiodic) {
|
if (vperiodic) {
|
||||||
Standard_Real aVPeriod = vknots->Last() - vknots->First();
|
Standard_Real aVPeriod = vknots->Last() - vknots->First();
|
||||||
|
Reference in New Issue
Block a user