35 assert((controlPoints.size() - 1) % degree == 0);
37 for (
size_t i = 0; i < controlPoints.size() - 1; i += degree)
41 for (
size_t j = i; j <= i + degree; j++)
43 partialControlPoints.push_back(controlPoints.at(j));
47 partialSplines.push_back(singleSpline);
56 assert((t >= 0) && (t < maxEvalFloat()));
58 size_t indexOfPartSpline =
static_cast<size_t>(std::floor(t));
59 return partialSplines.at(indexOfPartSpline).evaluate(t - indexOfPartSpline);
65 return static_cast<float>(partialSplines.size()) + std::numeric_limits<float>::epsilon();