MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ extend()

const double * MayaFlux::Kinesis::CurveEvaluator::extend ( std::span< const double >  control_points,
size_t  dim,
Eigen::Index &  count 
)
private

Definition at line 538 of file MotionCurves.cpp.

542{
543 count = static_cast<Eigen::Index>(control_points.size() / dim);
544
545 const bool pads = (m_mode == InterpolationMode::CATMULL_ROM
548
549 if (!pads) {
550 return control_points.data();
551 }
552
553 const auto n = static_cast<size_t>(count);
554 m_extended.resize((n + 2) * dim);
555
556 const double* src = control_points.data();
557 double* dst = m_extended.data();
558
559 std::copy_n(src, dim, dst);
560 std::copy_n(src, n * dim, dst + dim);
561 std::copy_n(src + (n - 1) * dim, dim, dst + (n + 1) * dim);
562
563 count = static_cast<Eigen::Index>(n + 2);
564 return dst;
565}
size_t count

References MayaFlux::Kinesis::BSPLINE, MayaFlux::Kinesis::CATMULL_ROM, count, m_extended, m_mode, and m_points_per_segment.

Referenced by evaluate_planar().

+ Here is the caller graph for this function: