5 #ifndef __pinocchio_algorithm_model_hpp__ 
    6 #define __pinocchio_algorithm_model_hpp__ 
   27   template<
typename Scalar, 
int Options, 
template<
typename, 
int> 
class JointCollectionTpl>
 
   29     const ModelTpl<Scalar, Options, JointCollectionTpl> & modelA,
 
   30     const ModelTpl<Scalar, Options, JointCollectionTpl> & modelB,
 
   32     const SE3Tpl<Scalar, Options> & aMb,
 
   33     ModelTpl<Scalar, Options, JointCollectionTpl> & 
model);
 
   50   template<
typename Scalar, 
int Options, 
template<
typename, 
int> 
class JointCollectionTpl>
 
   77   template<
typename Scalar, 
int Options, 
template<
typename, 
int> 
class JointCollectionTpl>
 
   79     const ModelTpl<Scalar, Options, JointCollectionTpl> & modelA,
 
   80     const ModelTpl<Scalar, Options, JointCollectionTpl> & modelB,
 
   81     const GeometryModel & geomModelA,
 
   82     const GeometryModel & geomModelB,
 
   84     const SE3Tpl<Scalar, Options> & aMb,
 
   85     ModelTpl<Scalar, Options, JointCollectionTpl> & 
model,
 
   86     GeometryModel & geomModel);
 
  107     template<
typename, 
int> 
class JointCollectionTpl,
 
  110     const ModelTpl<Scalar, Options, JointCollectionTpl> & 
model,
 
  113     ModelTpl<Scalar, Options, JointCollectionTpl> & reduced_model);
 
  132     template<
typename, 
int> 
class JointCollectionTpl,
 
  144     return reduced_model;
 
  166     template<
typename, 
int> 
class JointCollectionTpl,
 
  169     const ModelTpl<Scalar, Options, JointCollectionTpl> & 
model,
 
  173     ModelTpl<Scalar, Options, JointCollectionTpl> & reduced_model,
 
  174     GeometryModel & reduced_geom_model);
 
  195     template<
typename, 
int> 
class JointCollectionTpl,
 
  196     typename GeometryModelAllocator,
 
  199     const ModelTpl<Scalar, Options, JointCollectionTpl> & 
model,
 
  203     ModelTpl<Scalar, Options, JointCollectionTpl> & reduced_model,
 
  204     std::vector<GeometryModel, GeometryModelAllocator> & list_of_reduced_geom_models);
 
  219   template<
typename Scalar, 
int Options, 
template<
typename, 
int> 
class JointCollectionTpl>
 
  221     const ModelTpl<Scalar, Options, JointCollectionTpl> & input_model,
 
  226     ModelTpl<Scalar, Options, JointCollectionTpl> & output_model);
 
  240   template<
typename Scalar, 
int Options, 
template<
typename, 
int> 
class JointCollectionTpl>
 
  242     const ModelTpl<Scalar, Options, JointCollectionTpl> & input_model,
 
  243     const std::vector<JointIndex> & index_mimicked,
 
  244     const std::vector<JointIndex> & index_mimicking,
 
  245     const std::vector<Scalar> & scaling,
 
  246     const std::vector<Scalar> & offset,
 
  247     ModelTpl<Scalar, Options, JointCollectionTpl> & output_model);
 
  260   template<
typename Scalar, 
int Options, 
template<
typename, 
int> 
class JointCollectionTpl>
 
  262     const ModelTpl<Scalar, Options, JointCollectionTpl> & 
model,
 
  265     size_t & index_ancestor_in_support1,
 
  266     size_t & index_ancestor_in_support2);
 
  270 #include "pinocchio/algorithm/model.hxx" 
  272 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION 
  273   #include "pinocchio/algorithm/model.txx" 
  274 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION 
  276 #endif // ifndef __pinocchio_algorithm_model_hpp__