Program Listing for File act-on-set.hpp

Return to documentation for file (include/pinocchio/spatial/act-on-set.hpp)

//
// Copyright (c) 2015-2018 CNRS
//

#ifndef __pinocchio_act_on_set_hpp__
#define __pinocchio_act_on_set_hpp__

#include "pinocchio/macros.hpp"
#include "pinocchio/spatial/fwd.hpp"

namespace pinocchio
{

  namespace forceSet
  {
    template<int Op, typename Scalar, int Options, typename Mat, typename MatRet>
    static void se3Action(const SE3Tpl<Scalar,Options> & m,
                          const Eigen::MatrixBase<Mat> & iF,
                          Eigen::MatrixBase<MatRet> const & jF);

    template<typename Scalar, int Options, typename Mat, typename MatRet>
    static void se3Action(const SE3Tpl<Scalar,Options> & m,
                          const Eigen::MatrixBase<Mat> & iF,
                          Eigen::MatrixBase<MatRet> const & jF);

    template<int Op, typename Scalar, int Options, typename Mat, typename MatRet>
    static void se3ActionInverse(const SE3Tpl<Scalar,Options> & m,
                                 const Eigen::MatrixBase<Mat> & iF,
                                 Eigen::MatrixBase<MatRet> const & jF);

    template<typename Scalar, int Options, typename Mat, typename MatRet>
    static void se3ActionInverse(const SE3Tpl<Scalar,Options> & m,
                                 const Eigen::MatrixBase<Mat> & iF,
                                 Eigen::MatrixBase<MatRet> const & jF);

    template<int Op, typename MotionDerived, typename Mat, typename MatRet>
    static void motionAction(const MotionDense<MotionDerived> & v,
                             const Eigen::MatrixBase<Mat> & iF,
                             Eigen::MatrixBase<MatRet> const & jF);

    template<typename MotionDerived, typename Mat, typename MatRet>
    static void motionAction(const MotionDense<MotionDerived> & v,
                             const Eigen::MatrixBase<Mat> & iF,
                             Eigen::MatrixBase<MatRet> const & jF);

  }  // namespace forceSet

  namespace motionSet
  {
    template<int Op, typename Scalar, int Options, typename Mat,typename MatRet>
    static void se3Action(const SE3Tpl<Scalar,Options> & m,
                          const Eigen::MatrixBase<Mat> & iV,
                          Eigen::MatrixBase<MatRet> const & jV);

    template<typename Scalar, int Options, typename Mat,typename MatRet>
    static void se3Action(const SE3Tpl<Scalar,Options> & m,
                          const Eigen::MatrixBase<Mat> & iV,
                          Eigen::MatrixBase<MatRet> const & jV);

    template<int Op, typename Scalar, int Options, typename Mat,typename MatRet>
    static void se3ActionInverse(const SE3Tpl<Scalar,Options> & m,
                                 const Eigen::MatrixBase<Mat> & iV,
                                 Eigen::MatrixBase<MatRet> const & jV);

    template<typename Scalar, int Options, typename Mat,typename MatRet>
    static void se3ActionInverse(const SE3Tpl<Scalar,Options> & m,
                                 const Eigen::MatrixBase<Mat> & iV,
                                 Eigen::MatrixBase<MatRet> const & jV);

    template<int Op, typename MotionDerived, typename Mat, typename MatRet>
    static void motionAction(const MotionDense<MotionDerived> & v,
                             const Eigen::MatrixBase<Mat> & iF,
                             Eigen::MatrixBase<MatRet> const & jF);

    template<typename MotionDerived, typename Mat, typename MatRet>
    static void motionAction(const MotionDense<MotionDerived> & v,
                             const Eigen::MatrixBase<Mat> & iF,
                             Eigen::MatrixBase<MatRet> const & jF);

    template<int Op, typename Scalar, int Options, typename Mat, typename MatRet>
    static void inertiaAction(const InertiaTpl<Scalar,Options> & I,
                              const Eigen::MatrixBase<Mat> & iF,
                              Eigen::MatrixBase<MatRet> const & jF);

    template<typename Scalar, int Options, typename Mat, typename MatRet>
    static void inertiaAction(const InertiaTpl<Scalar,Options> & I,
                              const Eigen::MatrixBase<Mat> & iF,
                              Eigen::MatrixBase<MatRet> const & jF);

    template<int Op, typename ForceDerived, typename Mat, typename MatRet>
    static void act(const Eigen::MatrixBase<Mat> & iV,
                    const ForceDense<ForceDerived> & f,
                    Eigen::MatrixBase<MatRet> const & jF);

    template<typename ForceDerived, typename Mat, typename MatRet>
    static void act(const Eigen::MatrixBase<Mat> & iV,
                    const ForceDense<ForceDerived> & f,
                    Eigen::MatrixBase<MatRet> const & jF);

  }  // namespace MotionSet

} // namespace pinocchio

#include "pinocchio/spatial/act-on-set.hxx"

#endif // ifndef __pinocchio_act_on_set_hpp__