function init
extends Modelica.Icons.Function;
input Real points[:, :] "[i,:] is point i on the curve to be interpolated";
input Real param[size(points, 1)] "parameterization of the data points (not necessarily in the range 0..1)";
input Integer degree(min = 1) = 3 "Polynomial degree of interpolation (max number of points -1)";
input Boolean Bessel = true "If true and degree=3, Bessel end condition is used";
output Data spline(ndim = size(points, 2), ncontrol = if Bessel and degree == 3 then size(points, 1) + 2 else size(points, 1), degree = degree) "Bspline in a form which can be quickly interpolated";
end init;