BSplCLib_2.cxx - method MergeBSplineKnots is modified in order to have always not empty result.
Geom2dConvert.cxx - in static function MultNumandDenom tolerance for comparing knots is decreased.
}
NumPoles = index - degree - 1 ;
}
+ else
+ {
+ degree = Degree1 + Degree2;
+ num_knots = 2;
+ NewKnots =
+ new TColStd_HArray1OfReal(1, num_knots);
+ NewKnots->ChangeArray1()(1) = StartValue;
+ NewKnots->ChangeArray1()(num_knots) = EndValue;
+
+ NewMults =
+ new TColStd_HArray1OfInteger(1, num_knots);
+ NewMults->ChangeArray1()(1) = degree + 1;
+ NewMults->ChangeArray1()(num_knots) = degree + 1;
+ NumPoles = BSplCLib::NbPoles(degree, Standard_False, NewMults->Array1());
+ }
}
Handle(TColStd_HArray1OfReal) resKnots;
Handle(TColStd_HArray1OfInteger) resMults;
Standard_Real start_value,end_value;
- Standard_Real tolerance=Precision::Confusion();
Standard_Integer resNbPoles,degree,
ii,jj,
aStatus;
BS->KnotSequence(BSFlatKnots);
start_value = BSKnots(1);
end_value = BSKnots(BS->NbKnots());
+ Standard_Real tolerance = 10.*Epsilon(Abs(end_value));
a->Knots(aKnots);
a->Poles(aPoles);