Standard_Integer nbs = 20;
- if (theCurve->GetType() == GeomAbs_Line)
- nbs = 2;
- else if (theCurve->GetType() == GeomAbs_BezierCurve)
+ if (theCurve->GetType() == GeomAbs_BezierCurve)
{
- nbs = 3 + theCurve->NbPoles();
+ nbs = Max(nbs, 3 + theCurve->NbPoles());
}
else if (theCurve->GetType() == GeomAbs_BSplineCurve) {
- nbs = theCurve->NbKnots();
- nbs *= theCurve->Degree();
+ nbs = Max(nbs, theCurve->NbKnots() * theCurve->Degree());
}
- if (nbs > 200)
- nbs = 200;
+ if (nbs > 300)
+ nbs = 300;
return nbs;
}