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__