WPILibC++ 2024.3.2
frc::CubicHermiteSpline Class Reference

Represents a hermite spline of degree 3. More...

#include <frc/spline/CubicHermiteSpline.h>

Inheritance diagram for frc::CubicHermiteSpline:
frc::Spline< 3 >

Public Member Functions

 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. More...
 
Matrixd< 6, 3+1 > Coefficients () const override
 Returns the coefficients matrix. More...
 
const ControlVector & GetInitialControlVector () const override
 Returns the initial control vector that created this spline. More...
 
const ControlVector & GetFinalControlVector () const override
 Returns the final control vector that created this spline. More...
 
- Public Member Functions inherited from frc::Spline< 3 >
 Spline ()=default
 
 Spline (const Spline &)=default
 
 Spline (Spline &&)=default
 
Splineoperator= (const Spline &)=default
 
Splineoperator= (Spline &&)=default
 
virtual ~Spline ()=default
 
PoseWithCurvature GetPoint (double t) const
 Gets the pose and curvature at some point t on the spline. More...
 
virtual Matrixd< 6, Degree+1 > Coefficients () const=0
 Returns the coefficients of the spline. More...
 
virtual const ControlVector & GetInitialControlVector () const=0
 Returns the initial control vector that created this spline. More...
 
virtual const ControlVector & GetFinalControlVector () const=0
 Returns the final control vector that created this spline. More...
 

Additional Inherited Members

- Public Types inherited from frc::Spline< 3 >
using PoseWithCurvature = std::pair< Pose2d, units::curvature_t >
 
- Static Protected Member Functions inherited from frc::Spline< 3 >
static Eigen::Vector2d ToVector (const Translation2d &translation)
 Converts a Translation2d into a vector that is compatible with Eigen. More...
 
static Translation2d FromVector (const Eigen::Vector2d &vector)
 Converts an Eigen vector into a Translation2d. More...
 

Detailed Description

Represents a hermite spline of degree 3.

Constructor & Destructor Documentation

◆ CubicHermiteSpline()

frc::CubicHermiteSpline::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.

Each control vector contains info about the location of the point and its first derivative.

Parameters
xInitialControlVectorThe control vector for the initial point in the x dimension.
xFinalControlVectorThe control vector for the final point in the x dimension.
yInitialControlVectorThe control vector for the initial point in the y dimension.
yFinalControlVectorThe control vector for the final point in the y dimension.

Member Function Documentation

◆ Coefficients()

Matrixd< 6, 3+1 > frc::CubicHermiteSpline::Coefficients ( ) const
inlineoverridevirtual

Returns the coefficients matrix.

Returns
The coefficients matrix.

Implements frc::Spline< 3 >.

◆ GetFinalControlVector()

const ControlVector & frc::CubicHermiteSpline::GetFinalControlVector ( ) const
inlineoverridevirtual

Returns the final control vector that created this spline.

Returns
The final control vector that created this spline.

Implements frc::Spline< 3 >.

◆ GetInitialControlVector()

const ControlVector & frc::CubicHermiteSpline::GetInitialControlVector ( ) const
inlineoverridevirtual

Returns the initial control vector that created this spline.

Returns
The initial control vector that created this spline.

Implements frc::Spline< 3 >.


The documentation for this class was generated from the following file: