5 #ifndef __pinocchio_rnea_derivatives_hpp__
6 #define __pinocchio_rnea_derivatives_hpp__
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
11 #include "pinocchio/container/aligned-vector.hpp"
33 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename ReturnMatrixType>
36 DataTpl<Scalar,Options,JointCollectionTpl> & data,
37 const Eigen::MatrixBase<ConfigVectorType> & q,
38 const Eigen::MatrixBase<ReturnMatrixType> & gravity_partial_dq);
58 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename ReturnMatrixType>
61 DataTpl<Scalar,Options,JointCollectionTpl> & data,
62 const Eigen::MatrixBase<ConfigVectorType> & q,
63 const container::aligned_vector< ForceTpl<Scalar,Options> > & fext,
64 const Eigen::MatrixBase<ReturnMatrixType> & static_torque_partial_dq);
92 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
93 typename MatrixType1,
typename MatrixType2,
typename MatrixType3>
96 DataTpl<Scalar,Options,JointCollectionTpl> & data,
97 const Eigen::MatrixBase<ConfigVectorType> & q,
98 const Eigen::MatrixBase<TangentVectorType1> & v,
99 const Eigen::MatrixBase<TangentVectorType2> & a,
100 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
101 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
102 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
131 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
132 typename MatrixType1,
typename MatrixType2,
typename MatrixType3>
135 DataTpl<Scalar,Options,JointCollectionTpl> & data,
136 const Eigen::MatrixBase<ConfigVectorType> & q,
137 const Eigen::MatrixBase<TangentVectorType1> & v,
138 const Eigen::MatrixBase<TangentVectorType2> & a,
139 const container::aligned_vector< ForceTpl<Scalar,Options> > & fext,
140 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
141 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
142 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
165 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2>
169 const Eigen::MatrixBase<ConfigVectorType> & q,
170 const Eigen::MatrixBase<TangentVectorType1> & v,
171 const Eigen::MatrixBase<TangentVectorType2> & a)
199 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2>
203 const Eigen::MatrixBase<ConfigVectorType> & q,
204 const Eigen::MatrixBase<TangentVectorType1> & v,
205 const Eigen::MatrixBase<TangentVectorType2> & a,
215 #include "pinocchio/algorithm/rnea-derivatives.hxx"
217 #endif // ifndef __pinocchio_rnea_derivatives_hpp__