34 assert((controlPoints.size() - 1) % degree == 0);
36 for (
size_t i = 0; i < controlPoints.size() - 1; i += degree)
40 for (
size_t j = i; j <= i + degree; j++)
42 partialControlPoints.push_back(controlPoints.at(j));
46 partialSplines.push_back(singleSpline);
54 assert((t >= 0) && (t < maxEvalFloat()));
56 size_t indexOfPartSpline =
static_cast<size_t>(std::floor(t));
57 return partialSplines.at(indexOfPartSpline).evaluate(t - indexOfPartSpline);
62 return static_cast<float>(partialSplines.size()) + std::numeric_limits<float>::epsilon();