Template Function pinocchio::appendModel(const ModelTpl<Scalar, Options, JointCollectionTpl>&, const ModelTpl<Scalar, Options, JointCollectionTpl>&, const GeometryModel&, const GeometryModel&, const FrameIndex, const SE3Tpl<Scalar, Options>&, ModelTpl<Scalar, Options, JointCollectionTpl>&, GeometryModel&)

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
void pinocchio::appendModel(const ModelTpl<Scalar, Options, JointCollectionTpl> &modelA, const ModelTpl<Scalar, Options, JointCollectionTpl> &modelB, const GeometryModel &geomModelA, const GeometryModel &geomModelB, const FrameIndex frameInModelA, const SE3Tpl<Scalar, Options> &aMb, ModelTpl<Scalar, Options, JointCollectionTpl> &model, GeometryModel &geomModel)

Append a child model into a parent model, after a specific frame given by its index.

The order of the joints in the output models are

  • joints of modelA up to the parent of FrameInModelA,

  • all the descendents of parent of FrameInModelA,

  • the remaining joints of modelA.

Parameters:
  • modelA[in] the parent model.

  • modelB[in] the child model.

  • frameInModelA[in] index of the frame of modelA where to append modelB.

  • aMb[in] pose of modelB universe joint (index 0) in frameInModelA.

  • model[out] the resulting model.

  • geomModelA[in] the parent geometry model.

  • geomModelB[in] the child geometry model.

  • geomModel[out] the resulting geometry model.