5 #ifndef __pinocchio_algorithm_rnea_derivatives_hpp__
6 #define __pinocchio_algorithm_rnea_derivatives_hpp__
38 template<
typename,
int>
39 class JointCollectionTpl,
40 typename ConfigVectorType,
41 typename ReturnMatrixType>
43 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
44 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
45 const Eigen::MatrixBase<ConfigVectorType> &
q,
46 const Eigen::MatrixBase<ReturnMatrixType> & gravity_partial_dq);
72 template<
typename,
int>
73 class JointCollectionTpl,
74 typename ConfigVectorType,
75 typename ReturnMatrixType>
77 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
78 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
79 const Eigen::MatrixBase<ConfigVectorType> &
q,
81 const Eigen::MatrixBase<ReturnMatrixType> & static_torque_partial_dq);
115 template<
typename,
int>
116 class JointCollectionTpl,
117 typename ConfigVectorType,
118 typename TangentVectorType1,
119 typename TangentVectorType2,
120 typename MatrixType1,
121 typename MatrixType2,
122 typename MatrixType3>
124 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
125 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
126 const Eigen::MatrixBase<ConfigVectorType> &
q,
127 const Eigen::MatrixBase<TangentVectorType1> &
v,
128 const Eigen::MatrixBase<TangentVectorType2> &
a,
129 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
130 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
131 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
167 template<
typename,
int>
168 class JointCollectionTpl,
169 typename ConfigVectorType,
170 typename TangentVectorType1,
171 typename TangentVectorType2,
172 typename MatrixType1,
173 typename MatrixType2,
174 typename MatrixType3>
176 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
177 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
178 const Eigen::MatrixBase<ConfigVectorType> &
q,
179 const Eigen::MatrixBase<TangentVectorType1> &
v,
180 const Eigen::MatrixBase<TangentVectorType2> &
a,
182 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
183 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
184 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
212 template<
typename,
int>
213 class JointCollectionTpl,
214 typename ConfigVectorType,
215 typename TangentVectorType1,
216 typename TangentVectorType2>
218 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
219 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
220 const Eigen::MatrixBase<ConfigVectorType> &
q,
221 const Eigen::MatrixBase<TangentVectorType1> &
v,
222 const Eigen::MatrixBase<TangentVectorType2> &
a);
252 template<
typename,
int>
253 class JointCollectionTpl,
254 typename ConfigVectorType,
255 typename TangentVectorType1,
256 typename TangentVectorType2>
258 const ModelTpl<Scalar, Options, JointCollectionTpl> &
model,
259 DataTpl<Scalar, Options, JointCollectionTpl> &
data,
260 const Eigen::MatrixBase<ConfigVectorType> &
q,
261 const Eigen::MatrixBase<TangentVectorType1> &
v,
262 const Eigen::MatrixBase<TangentVectorType2> &
a,
267 #include "pinocchio/algorithm/rnea-derivatives.hxx"
269 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
270 #include "pinocchio/algorithm/rnea-derivatives.txx"
271 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
273 #endif // ifndef __pinocchio_algorithm_rnea_derivatives_hpp__