50 return m_initialControlVector;
59 return m_finalControlVector;
65 ControlVector m_initialControlVector;
66 ControlVector m_finalControlVector;
72 static Eigen::Matrix4d MakeHermiteBasis() {
94 static const Eigen::Matrix4d basis{{+2.0, +1.0, -2.0, +1.0},
95 {-3.0, -2.0, +3.0, -1.0},
96 {+0.0, +1.0, +0.0, +0.0},
97 {+1.0, +0.0, +0.0, +0.0}};
110 static Eigen::Vector4d ControlVectorFromArrays(
112 return Eigen::Vector4d{initialVector[0], initialVector[1], finalVector[0],
#define WPILIB_DLLEXPORT
Definition: SymbolExports.h:36
Represents a hermite spline of degree 3.
Definition: CubicHermiteSpline.h:17
const ControlVector & GetInitialControlVector() const override
Returns the initial control vector that created this spline.
Definition: CubicHermiteSpline.h:49
Matrixd< 6, 3+1 > Coefficients() const override
Returns the coefficients matrix.
Definition: CubicHermiteSpline.h:42
CubicHermiteSpline(wpi::array< double, 2 > xInitialControlVector, wpi::array< double, 2 > xFinalControlVector, wpi::array< double, 2 > yInitialControlVector, wpi::array< double, 2 > yFinalControlVector)
Constructs a cubic hermite spline with the specified control vectors.
const ControlVector & GetFinalControlVector() const override
Returns the final control vector that created this spline.
Definition: CubicHermiteSpline.h:58
Represents a two-dimensional parametric spline that interpolates between two points.
Definition: Spline.h:25
This class is a wrapper around std::array that does compile time size checking.
Definition: array.h:26
Definition: AprilTagPoseEstimator.h:15
Eigen::Matrix< double, Rows, Cols, Options, MaxRows, MaxCols > Matrixd
Definition: EigenCore.h:21