5 #ifndef __pinocchio_algorithm_model_hpp__
6 #define __pinocchio_algorithm_model_hpp__
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/geometry.hpp"
23 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
25 appendModel(
const ModelTpl<Scalar,Options,JointCollectionTpl> & modelA,
26 const ModelTpl<Scalar,Options,JointCollectionTpl> & modelB,
27 const FrameIndex frameInModelA,
28 const SE3Tpl<Scalar,Options> & aMb,
29 ModelTpl<Scalar,Options,JointCollectionTpl> & model);
42 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
43 ModelTpl<Scalar,Options,JointCollectionTpl>
46 const FrameIndex frameInModelA,
64 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
66 appendModel(
const ModelTpl<Scalar,Options,JointCollectionTpl> & modelA,
67 const ModelTpl<Scalar,Options,JointCollectionTpl> & modelB,
68 const GeometryModel & geomModelA,
69 const GeometryModel & geomModelB,
70 const FrameIndex frameInModelA,
71 const SE3Tpl<Scalar,Options> & aMb,
72 ModelTpl<Scalar,Options,JointCollectionTpl> & model,
73 GeometryModel & geomModel);
90 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
93 std::vector<JointIndex> list_of_joints_to_lock,
94 const Eigen::MatrixBase<ConfigVectorType> & reference_configuration,
95 ModelTpl<Scalar,Options,JointCollectionTpl> & reduced_model);
110 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
111 ModelTpl<Scalar,Options,JointCollectionTpl>
113 const std::vector<JointIndex> & list_of_joints_to_lock,
114 const Eigen::MatrixBase<ConfigVectorType> & reference_configuration)
119 buildReducedModel(model,list_of_joints_to_lock,reference_configuration,reduced_model);
121 return reduced_model;
138 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
141 const GeometryModel & geom_model,
142 const std::vector<JointIndex> & list_of_joints_to_lock,
143 const Eigen::MatrixBase<ConfigVectorType> & reference_configuration,
144 ModelTpl<Scalar,Options,JointCollectionTpl> & reduced_model,
145 GeometryModel & reduced_geom_model);
161 template <
typename Scalar,
int Options,
162 template <
typename,
int>
class JointCollectionTpl,
163 typename GeometryModelAllocator,
164 typename ConfigVectorType>
166 const ModelTpl<Scalar, Options, JointCollectionTpl> &model,
167 const std::vector<GeometryModel,GeometryModelAllocator> &list_of_geom_models,
168 const std::vector<JointIndex> &list_of_joints_to_lock,
169 const Eigen::MatrixBase<ConfigVectorType> &reference_configuration,
170 ModelTpl<Scalar, Options, JointCollectionTpl> &reduced_model,
171 std::vector<GeometryModel,GeometryModelAllocator> &list_of_reduced_geom_models);
175 #include "pinocchio/algorithm/model.hxx"
177 #endif // ifndef __pinocchio_algorithm_model_hpp__