MayaFlux 1.0.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 655 of file MotionCurves.cpp.

659{
660 count = static_cast<Eigen::Index>(control_points.size() / dim);
661
662 const bool pads = (m_mode == InterpolationMode::CATMULL_ROM
665
666 if (!pads) {
667 return control_points.data();
668 }
669
670 const auto n = static_cast<size_t>(count);
671 m_extended.resize((n + 2) * dim);
672
673 const double* src = control_points.data();
674 double* dst = m_extended.data();
675
676 std::copy_n(src, dim, dst);
677 std::copy_n(src, n * dim, dst + dim);
678 std::copy_n(src + (n - 1) * dim, dim, dst + (n + 1) * dim);
679
680 count = static_cast<Eigen::Index>(n + 2);
681 return dst;
682}
uint32_t * dst
const uint32_t * src
size_t count

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

Referenced by evaluate_planar().

+ Here is the caller graph for this function: