19 template <
class T,
typename SCALAR =
double>
23 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
36 typedef Eigen::Matrix<SCALAR, T::DIM, T::DIM>
matrix_t;
37 typedef std::vector<vector_t, Eigen::aligned_allocator<vector_t>>
vector_array_t;
virtual void computeSpline(const vector_array_t &points)=0
Updates the vector on the shots.
virtual ~SplinerBase()=default
Destructor.
virtual vector_t splineDerivative_h_i(const SCALAR time, const size_t shotIdx) const =0
Returns the spline derivatives with respect to the time segment between the shots.
Abstract base class for the control input splining between the DMS shots.
Definition: SplinerBase.h:20
std::vector< vector_t, Eigen::aligned_allocator< vector_t > > vector_array_t
Definition: SplinerBase.h:37
CppAD::AD< CppAD::cg::CG< double > > SCALAR
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SplinerBase()=default
Default constructor.
virtual vector_t splineDerivative_t(const SCALAR time, const size_t shotIdx) const =0
Returns the spline derivatives with respect to time.
virtual matrix_t splineDerivative_q_iplus1(const SCALAR time, const size_t shotIdx) const =0
Returns the spline derivative with respect to the control input at shot i+1.
virtual vector_t evalSpline(const SCALAR time, const size_t shotIdx)=0
Depending on the spline type, this method evaluates the control input between the shots...
virtual matrix_t splineDerivative_q_i(const SCALAR time, const size_t shotIdx) const =0
Return the spline derivative with respect to the control input at shot i.
T vector_t
Definition: SplinerBase.h:35
Eigen::Matrix< SCALAR, T::DIM, T::DIM > matrix_t
Definition: SplinerBase.h:36