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

◆ rebuild_kernel()

void MayaFlux::Kinesis::CurveEvaluator::rebuild_kernel ( )
private

Definition at line 466 of file MotionCurves.cpp.

467{
468 m_trigonometric = false;
469
470 switch (m_mode) {
473 m_overlap = 1;
474 m_supports_multi = true;
475 m_basis = { -1.0, 1.0, 1.0, 0.0 };
476 break;
477 }
478
481 m_overlap = 1;
482 m_supports_multi = true;
483 m_trigonometric = true;
484 m_basis.clear();
485 break;
486
489 m_overlap = 3;
490 m_supports_multi = true;
491 const Eigen::Matrix4d m = BasisMatrices::catmull_rom_with_tension(m_tension);
492 flatten_basis(m.data(), 4, m_basis);
493 break;
494 }
495
498 m_overlap = 3;
499 m_supports_multi = true;
500 flatten_basis(BasisMatrices::BSPLINE_CUBIC.data(), 4, m_basis);
501 break;
502
505 m_overlap = 1;
506 m_supports_multi = true;
507 flatten_basis(BasisMatrices::CUBIC_BEZIER.data(), 4, m_basis);
508 break;
509
512 m_overlap = 1;
513 m_supports_multi = true;
514 flatten_basis(BasisMatrices::QUADRATIC_BEZIER.data(), 3, m_basis);
515 break;
516
519 m_overlap = 0;
520 m_supports_multi = false;
521 m_basis = {
522 2.0, -3.0, 0.0, 1.0,
523 -2.0, 3.0, 0.0, 0.0,
524 1.0, -2.0, 1.0, 0.0,
525 1.0, -1.0, 0.0, 0.0
526 };
527 break;
528
529 default:
531 m_overlap = 0;
532 m_supports_multi = false;
533 m_basis.clear();
534 break;
535 }
536}
static const Eigen::Matrix4d BSPLINE_CUBIC
static const Eigen::Matrix3d QUADRATIC_BEZIER
static Eigen::Matrix4d catmull_rom_with_tension(double tension)
static const Eigen::Matrix4d CUBIC_BEZIER

References MayaFlux::Kinesis::BSPLINE, MayaFlux::Kinesis::BasisMatrices::BSPLINE_CUBIC, MayaFlux::Kinesis::CATMULL_ROM, MayaFlux::Kinesis::BasisMatrices::catmull_rom_with_tension(), MayaFlux::Kinesis::COSINE, MayaFlux::Kinesis::BasisMatrices::CUBIC_BEZIER, MayaFlux::Kinesis::CUBIC_BEZIER, MayaFlux::Kinesis::CUBIC_HERMITE, MayaFlux::Kinesis::LINEAR, m_basis, m_mode, m_overlap, m_points_per_segment, m_supports_multi, m_tension, m_trigonometric, MayaFlux::Kinesis::BasisMatrices::QUADRATIC_BEZIER, and MayaFlux::Kinesis::QUADRATIC_BEZIER.

Referenced by configure(), and CurveEvaluator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: