motion-zero.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2015-2019 CNRS, INRIA
3 // Copyright (c) 2015-2016 Wandercraft, 86 rue de Paris 91400 Orsay, France.
4 //
5 
6 #ifndef __pinocchio_motion_zero_hpp__
7 #define __pinocchio_motion_zero_hpp__
8 
9 namespace pinocchio
10 {
11 
12  template<typename Scalar, int Options>
14  {
16  };
17 
18  template<typename Scalar, int Options, typename MotionDerived>
20  {
22  };
23 
24  template<typename _Scalar, int _Options>
25  struct traits< MotionZeroTpl<_Scalar,_Options> >
26  {
27  enum {
28  Options = _Options,
29  LINEAR = 0,
30  ANGULAR = 3
31  };
32  typedef _Scalar Scalar;
33  typedef Eigen::Matrix<Scalar,3,1,Options> Vector3;
34  typedef Eigen::Matrix<Scalar,6,1,Options> Vector6;
35  typedef Eigen::Matrix<Scalar,3,3,Options> Matrix3;
36  typedef Eigen::Matrix<Scalar,4,4,Options> Matrix4;
37  typedef Eigen::Matrix<Scalar,6,6,Options> Matrix6;
38  typedef typename PINOCCHIO_EIGEN_REF_CONST_TYPE(Vector6) ToVectorConstReturnType;
39  typedef typename PINOCCHIO_EIGEN_REF_TYPE(Vector6) ToVectorReturnType;
43  typedef const Vector3 ConstAngularType;
45  typedef const Vector3 ConstLinearType;
48 
49  }; // traits MotionZeroTpl
50 
51  template<typename Scalar, int Options>
52  struct MotionZeroTpl
53  : public MotionBase< MotionZeroTpl<Scalar,Options> >
54  {
57 
58  static PlainReturnType plain() { return MotionPlain::Zero(); }
59 
60  template<typename D2>
61  static bool isEqual_impl(const MotionDense<D2> & other)
62  {
63  return other.linear().isZero(0) && other.angular().isZero(0);
64  }
65 
66  static bool isEqual_impl(const MotionZeroTpl &)
67  {
68  return true;
69  }
70 
71  template<typename D2>
72  static void addTo(const MotionBase<D2> &) {}
73 
74  template<typename D2>
75  static void setTo(MotionBase<D2> & other)
76  {
77  other.setZero();
78  }
79 
80  template<typename M1>
82  {
83  return MotionZeroTpl();
84  }
85 
86  template<typename S2, int O2, typename D2>
88  {
89  v.setZero();
90  }
91 
92  template<typename S2, int O2>
94  {
95  return MotionZeroTpl();
96  }
97 
98  template<typename S2, int O2, typename D2>
100  {
101  v.setZero();
102  }
103 
104  template<typename S2, int O2>
106  {
107  return MotionZeroTpl();
108  }
109 
110  }; // struct MotionZeroTpl
111 
112  template<typename M1, typename Scalar, int Options>
113  inline const M1 & operator+(const MotionBase<M1> & v,
115  { return v.derived(); }
116 
117  template<typename Scalar, int Options, typename M1>
118  inline const M1 & operator+(const MotionZeroTpl<Scalar,Options> &,
119  const MotionBase<M1> & v)
120  { return v.derived(); }
121 
123  template<typename Scalar, int Options>
124  struct PINOCCHIO_DEPRECATED BiasZeroTpl : MotionZeroTpl<Scalar,Options>
125  {
127  BiasZeroTpl(const Base &) {}
128  };
129 
132  template<typename Scalar, int Options>
134  {
136  };
137 
138  template<typename Scalar, int Options, typename MotionDerived>
140  {
142  };
144 
145 } // namespace pinocchio
146 
147 #endif // ifndef __pinocchio_motion_zero_hpp__
pinocchio::BiasZeroTpl::Base
MotionZeroTpl< Scalar, Options > Base
Definition: motion-zero.hpp:126
pinocchio::MotionZeroTpl::PlainReturnType
traits< MotionZeroTpl >::PlainReturnType PlainReturnType
Definition: motion-zero.hpp:56
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::AngularType
Vector3 AngularType
Definition: motion-zero.hpp:42
pinocchio::Options
Options
Definition: joint-configuration.hpp:746
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::HomogeneousMatrixType
Matrix4 HomogeneousMatrixType
Definition: motion-zero.hpp:41
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::PlainReturnType
MotionPlain PlainReturnType
Definition: motion-zero.hpp:47
pinocchio::SE3Tpl
Definition: spatial/fwd.hpp:38
pinocchio::MotionZeroTpl::plain
static PlainReturnType plain()
Definition: motion-zero.hpp:58
pinocchio::PINOCCHIO_EIGEN_REF_CONST_TYPE
PINOCCHIO_EIGEN_REF_CONST_TYPE(Matrix6Like) operator*(const Eigen
Definition: joint-free-flyer.hpp:122
pinocchio::MotionZeroTpl::isEqual_impl
static bool isEqual_impl(const MotionDense< D2 > &other)
Definition: motion-zero.hpp:61
PINOCCHIO_COMPILER_DIAGNOSTIC_POP
#define PINOCCHIO_COMPILER_DIAGNOSTIC_POP
Definition: include/pinocchio/macros.hpp:95
pinocchio::MotionDense
Definition: spatial/fwd.hpp:41
pinocchio::MotionBase::setZero
void setZero()
Definition: motion-base.hpp:60
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::ConstLinearType
const typedef Vector3 ConstLinearType
Definition: motion-zero.hpp:45
pinocchio::MotionAlgebraAction
Return type of the ation of a Motion onto an object of type D.
Definition: spatial/motion.hpp:46
pinocchio::MotionZeroTpl::se3ActionInverse_impl
MotionZeroTpl se3ActionInverse_impl(const SE3Tpl< S2, O2 > &) const
Definition: motion-zero.hpp:105
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::ActionMatrixType
Matrix6 ActionMatrixType
Definition: motion-zero.hpp:40
pinocchio::MotionDense::linear
ConstLinearType linear() const
Definition: motion-base.hpp:22
pinocchio::MotionBase
Definition: spatial/fwd.hpp:40
pinocchio::SE3GroupAction
Definition: spatial/se3.hpp:39
pinocchio::MotionZeroTpl::setTo
static void setTo(MotionBase< D2 > &other)
Definition: motion-zero.hpp:75
pinocchio::MotionZeroTpl
Definition: spatial/fwd.hpp:44
pinocchio::MotionAlgebraAction< BiasZeroTpl< Scalar, Options >, MotionDerived >::ReturnType
BiasZeroTpl< Scalar, Options > ReturnType
Definition: motion-zero.hpp:141
pinocchio::python::Scalar
SE3::Scalar Scalar
Definition: conversions.cpp:15
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::ConstAngularType
const typedef Vector3 ConstAngularType
Definition: motion-zero.hpp:43
pinocchio::MotionZeroTpl::MotionPlain
traits< MotionZeroTpl >::MotionPlain MotionPlain
Definition: motion-zero.hpp:55
pinocchio::SE3GroupAction< BiasZeroTpl< Scalar, Options > >::ReturnType
BiasZeroTpl< Scalar, Options > ReturnType
Definition: motion-zero.hpp:135
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::LinearType
Vector3 LinearType
Definition: motion-zero.hpp:44
pinocchio::MotionZeroTpl::se3Action_impl
void se3Action_impl(const SE3Tpl< S2, O2 > &, MotionDense< D2 > &v) const
Definition: motion-zero.hpp:87
PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
#define PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
Definition: include/pinocchio/macros.hpp:96
pinocchio::operator+
MotionDerived::MotionPlain operator+(const MotionPlanarTpl< Scalar, Options > &m1, const MotionDense< MotionDerived > &m2)
Definition: joint-planar.hpp:192
pinocchio::MotionZeroTpl::se3Action_impl
MotionZeroTpl se3Action_impl(const SE3Tpl< S2, O2 > &) const
Definition: motion-zero.hpp:93
PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
#define PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
macros for pragma push/pop/ignore deprecated warnings
Definition: include/pinocchio/macros.hpp:94
pinocchio::BiasZeroTpl
BiasZeroTpl has been replaced by MotionZeroTpl. Please use this naming instead.
Definition: motion-zero.hpp:124
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::Matrix6
Eigen::Matrix< Scalar, 6, 6, Options > Matrix6
Definition: motion-zero.hpp:37
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::Matrix4
Eigen::Matrix< Scalar, 4, 4, Options > Matrix4
Definition: motion-zero.hpp:36
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:748
pinocchio::MotionZeroTpl::isEqual_impl
static bool isEqual_impl(const MotionZeroTpl &)
Definition: motion-zero.hpp:66
pinocchio::MotionZeroTpl::motionAction
MotionZeroTpl motionAction(const MotionBase< M1 > &) const
Definition: motion-zero.hpp:81
pinocchio::MotionZeroTpl::addTo
static void addTo(const MotionBase< D2 > &)
Definition: motion-zero.hpp:72
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::Vector6
Eigen::Matrix< Scalar, 6, 1, Options > Vector6
Definition: motion-zero.hpp:34
pinocchio::MotionZeroTpl::se3ActionInverse_impl
void se3ActionInverse_impl(const SE3Tpl< S2, O2 > &, MotionDense< D2 > &v) const
Definition: motion-zero.hpp:99
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:44
pinocchio::BiasZeroTpl::BiasZeroTpl
BiasZeroTpl(const Base &)
Definition: motion-zero.hpp:127
PINOCCHIO_EIGEN_REF_TYPE
#define PINOCCHIO_EIGEN_REF_TYPE(D)
Definition: eigen-macros.hpp:25
pinocchio::MotionTpl
Definition: spatial/fwd.hpp:43
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: motion-zero.hpp:33
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::Matrix3
Eigen::Matrix< Scalar, 3, 3, Options > Matrix3
Definition: motion-zero.hpp:35
pinocchio::SE3GroupAction< MotionZeroTpl< Scalar, Options > >::ReturnType
MotionZeroTpl< Scalar, Options > ReturnType
Definition: motion-zero.hpp:15
pinocchio::MotionAlgebraAction< MotionZeroTpl< Scalar, Options >, MotionDerived >::ReturnType
MotionZeroTpl< Scalar, Options > ReturnType
Definition: motion-zero.hpp:21
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::MotionPlain
Motion MotionPlain
Definition: motion-zero.hpp:46
pinocchio::MotionDense::angular
ConstAngularType angular() const
Definition: motion-base.hpp:21
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:28
pinocchio::traits< MotionZeroTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: motion-zero.hpp:32


pinocchio
Author(s):
autogenerated on Tue Feb 13 2024 03:43:59