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

Function Documentation

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

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.

Returns:

A new model containing the fusion of modelA and modelB.