joint-revolute-unbounded-unaligned.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2019-2020 INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_joint_revolute_unbounded_unaligned_hpp__
6 #define __pinocchio_multibody_joint_revolute_unbounded_unaligned_hpp__
7 
8 #include "pinocchio/fwd.hpp"
12 
14 
15 namespace pinocchio
16 {
17 
18  template<typename Scalar, int Options = 0>
20 
21  template<typename _Scalar, int _Options>
22  struct traits<JointRevoluteUnboundedUnalignedTpl<_Scalar, _Options>>
23  {
24  enum
25  {
26  NQ = 2,
27  NV = 1
28  };
29  typedef _Scalar Scalar;
30  enum
31  {
32  Options = _Options
33  };
34 
35  typedef Eigen::Matrix<Scalar, NQ, 1, Options> ConfigVector_t;
36  typedef Eigen::Matrix<Scalar, NV, 1, Options> TangentVector_t;
37 
44  typedef Eigen::Matrix<Scalar, 6, NV, Options> F_t;
45 
46  // [ABA]
47  typedef Eigen::Matrix<Scalar, 6, NV, Options> U_t;
48  typedef Eigen::Matrix<Scalar, NV, NV, Options> D_t;
49  typedef Eigen::Matrix<Scalar, 6, NV, Options> UD_t;
50 
52  };
53 
54  template<typename _Scalar, int _Options>
56  {
58  typedef _Scalar Scalar;
59  };
60 
61  template<typename _Scalar, int _Options>
63  {
65  typedef _Scalar Scalar;
66  };
67 
68  template<typename _Scalar, int _Options>
70  : public JointDataBase<JointDataRevoluteUnboundedUnalignedTpl<_Scalar, _Options>>
71  {
72  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
76 
77  ConfigVector_t joint_q;
78  TangentVector_t joint_v;
79 
80  Transformation_t M;
81  Constraint_t S;
82  Motion_t v;
83  Bias_t c;
84 
85  // [ABA] specific data
86  U_t U;
87  D_t Dinv;
88  UD_t UDinv;
89  D_t StU;
90 
92  : joint_q(Scalar(1), Scalar(0))
93  , joint_v(TangentVector_t::Zero())
94  , M(Transformation_t::Identity())
95  , S(Constraint_t::Vector3::Zero())
96  , v(Constraint_t::Vector3::Zero(), (Scalar)0)
97  , U(U_t::Zero())
98  , Dinv(D_t::Zero())
99  , UDinv(UD_t::Zero())
100  , StU(D_t::Zero())
101  {
102  }
103 
104  template<typename Vector3Like>
105  JointDataRevoluteUnboundedUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
106  : joint_q(Scalar(1), Scalar(0))
107  , joint_v(TangentVector_t::Zero())
108  , M(Transformation_t::Identity())
109  , S(axis)
110  , v(axis, (Scalar)0)
111  , U(U_t::Zero())
112  , Dinv(D_t::Zero())
113  , UDinv(UD_t::Zero())
114  , StU(D_t::Zero())
115  {
116  }
117 
118  static std::string classname()
119  {
120  return std::string("JointDataRevoluteUnboundedUnalignedTpl");
121  }
122  std::string shortname() const
123  {
124  return classname();
125  }
126 
127  }; // struct JointDataRevoluteUnboundedUnalignedTpl
128 
129  PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelRevoluteUnboundedUnalignedTpl);
130 
131  template<typename _Scalar, int _Options>
132  struct JointModelRevoluteUnboundedUnalignedTpl
133  : public JointModelBase<JointModelRevoluteUnboundedUnalignedTpl<_Scalar, _Options>>
134  {
135  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
138  typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3;
139 
141  using Base::id;
142  using Base::idx_q;
143  using Base::idx_v;
144  using Base::setIndexes;
145 
147  : axis(Vector3::UnitX())
148  {
149  }
150 
152  : axis(x, y, z)
153  {
154  normalize(axis);
155  assert(isUnitary(axis) && "Rotation axis is not unitary");
156  }
157 
158  template<typename Vector3Like>
159  JointModelRevoluteUnboundedUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
160  : axis(axis)
161  {
162  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Vector3Like);
163  assert(isUnitary(axis) && "Rotation axis is not unitary");
164  }
165 
166  JointDataDerived createData() const
167  {
168  return JointDataDerived(axis);
169  }
170 
171  const std::vector<bool> hasConfigurationLimit() const
172  {
173  return {false, false};
174  }
175 
176  const std::vector<bool> hasConfigurationLimitInTangent() const
177  {
178  return {false};
179  }
180 
181  using Base::isEqual;
183  {
184  return Base::isEqual(other) && internal::comparison_eq(axis, other.axis);
185  }
186 
187  template<typename ConfigVector>
188  void calc(JointDataDerived & data, const typename Eigen::MatrixBase<ConfigVector> & qs) const
189  {
190  data.joint_q = qs.template segment<NQ>(idx_q());
191 
192  const Scalar & ca = data.joint_q(0);
193  const Scalar & sa = data.joint_q(1);
194 
195  toRotationMatrix(axis, ca, sa, data.M.rotation());
196  }
197 
198  template<typename TangentVector>
199  void
200  calc(JointDataDerived & data, const Blank, const typename Eigen::MatrixBase<TangentVector> & vs)
201  const
202  {
203  data.joint_v[0] = vs[idx_v()];
204  data.v.angularRate() = data.joint_v[0];
205  }
206 
207  template<typename ConfigVector, typename TangentVector>
208  void calc(
209  JointDataDerived & data,
210  const typename Eigen::MatrixBase<ConfigVector> & qs,
211  const typename Eigen::MatrixBase<TangentVector> & vs) const
212  {
213  calc(data, qs.derived());
214  data.joint_v[0] = vs[idx_v()];
215  data.v.angularRate() = data.joint_v[0];
216  }
217 
218  template<typename VectorLike, typename Matrix6Like>
219  void calc_aba(
220  JointDataDerived & data,
221  const Eigen::MatrixBase<VectorLike> & armature,
222  const Eigen::MatrixBase<Matrix6Like> & I,
223  const bool update_I) const
224  {
225  data.U.noalias() = I.template middleCols<3>(Motion::ANGULAR) * axis;
226  data.Dinv[0] =
227  Scalar(1) / (axis.dot(data.U.template segment<3>(Motion::ANGULAR)) + armature[0]);
228  data.UDinv.noalias() = data.U * data.Dinv;
229 
230  if (update_I)
231  PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like, I).noalias() -= data.UDinv * data.U.transpose();
232  }
233 
234  static std::string classname()
235  {
236  return std::string("JointModelRevoluteUnboundedUnaligned");
237  }
238  std::string shortname() const
239  {
240  return classname();
241  }
242 
244  template<typename NewScalar>
246  {
248  ReturnType res(axis.template cast<NewScalar>());
249  res.setIndexes(id(), idx_q(), idx_v());
250  return res;
251  }
252 
253  // data
258  }; // struct JointModelRevoluteUnboundedUnalignedTpl
259 
260 } // namespace pinocchio
261 
262 #include <boost/type_traits.hpp>
263 
264 namespace boost
265 {
266  template<typename Scalar, int Options>
267  struct has_nothrow_constructor<
269  : public integral_constant<bool, true>
270  {
271  };
272 
273  template<typename Scalar, int Options>
274  struct has_nothrow_copy<::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>>
275  : public integral_constant<bool, true>
276  {
277  };
278 
279  template<typename Scalar, int Options>
280  struct has_nothrow_constructor<
282  : public integral_constant<bool, true>
283  {
284  };
285 
286  template<typename Scalar, int Options>
287  struct has_nothrow_copy<::pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options>>
288  : public integral_constant<bool, true>
289  {
290  };
291 } // namespace boost
292 
293 #endif // ifndef __pinocchio_multibody_joint_revolute_unbounded_unaligned_hpp__
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:214
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Definition: joint-data-base.hpp:137
UnitX
const Vec3f UnitX
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::S
Constraint_t S
Definition: joint-revolute-unbounded-unaligned.hpp:81
pinocchio::JointModelRevoluteUnboundedUnalignedTpl
Definition: multibody/joint/fwd.hpp:46
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-revolute-unbounded-unaligned.hpp:176
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::JointDataRevoluteUnboundedUnalignedTpl
JointDataRevoluteUnboundedUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unbounded-unaligned.hpp:105
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::JointModelRevoluteUnboundedUnalignedTpl
JointModelRevoluteUnboundedUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unbounded-unaligned.hpp:159
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unbounded-unaligned.hpp:29
rotation.hpp
pinocchio::isUnitary
bool isUnitary(const Eigen::MatrixBase< MatrixLike > &mat, const typename MatrixLike::RealScalar &prec=Eigen::NumTraits< typename MatrixLike::Scalar >::dummy_precision())
Check whether the input matrix is Unitary within the given precision.
Definition: math/matrix.hpp:155
pinocchio::idx_q
int idx_q(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdxQVisitor to get the index in the full model configuration space...
pinocchio::JointModelBase
Definition: joint-model-base.hpp:75
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::JointModelRevoluteUnboundedUnalignedTpl
JointModelRevoluteUnboundedUnalignedTpl(const Scalar &x, const Scalar &y, const Scalar &z)
Definition: joint-revolute-unbounded-unaligned.hpp:151
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Constraint_t
JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > Constraint_t
Definition: joint-revolute-unbounded-unaligned.hpp:40
pinocchio::idx_v
int idx_v(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdxVVisitor to get the index in the full model tangent space corre...
pinocchio::Options
Options
Definition: joint-configuration.hpp:1082
y
y
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::JointModelDerived
JointModelRevoluteUnboundedUnalignedTpl< Scalar, Options > JointModelDerived
Definition: joint-revolute-unbounded-unaligned.hpp:39
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::Dinv
D_t Dinv
Definition: joint-revolute-unbounded-unaligned.hpp:87
PINOCCHIO_EIGEN_CONST_CAST
#define PINOCCHIO_EIGEN_CONST_CAST(TYPE, OBJ)
Macro for an automatic const_cast.
Definition: eigen-macros.hpp:51
pinocchio::SE3Tpl< Scalar, Options >
fwd.hpp
pinocchio::JointDataBase
Definition: joint-data-base.hpp:161
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::U
U_t U
Definition: joint-revolute-unbounded-unaligned.hpp:86
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
inertia.hpp
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-revolute-unbounded-unaligned.hpp:208
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::StU
D_t StU
Definition: joint-revolute-unbounded-unaligned.hpp:89
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-revolute-unbounded-unaligned.hpp:41
boost
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::JointDataDerived
JointDataRevoluteUnboundedUnalignedTpl< Scalar, Options > JointDataDerived
Definition: joint-revolute-unbounded-unaligned.hpp:38
pinocchio::JointModelBase::setIndexes
void setIndexes(JointIndex id, int q, int v)
Definition: joint-model-base.hpp:186
pinocchio::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
pinocchio::traits< JointModelRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unbounded-unaligned.hpp:65
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::shortname
std::string shortname() const
Definition: joint-revolute-unbounded-unaligned.hpp:122
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::UDinv
UD_t UDinv
Definition: joint-revolute-unbounded-unaligned.hpp:88
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::F_t
Eigen::Matrix< Scalar, 6, NV, Options > F_t
Definition: joint-revolute-unbounded-unaligned.hpp:44
pinocchio::Blank
Blank type.
Definition: fwd.hpp:76
pinocchio::traits< JointModelRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::JointDerived
JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unbounded-unaligned.hpp:64
joint-revolute-unaligned.hpp
pinocchio::MotionZeroTpl
Definition: context/casadi.hpp:23
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
#define PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
Definition: joint-data-base.hpp:55
pinocchio::traits< JointDataRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::JointDerived
JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unbounded-unaligned.hpp:57
pinocchio::traits< JointDataRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unbounded-unaligned.hpp:58
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::D_t
Eigen::Matrix< Scalar, NV, NV, Options > D_t
Definition: joint-revolute-unbounded-unaligned.hpp:48
matrix.hpp
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::U_t
Eigen::Matrix< Scalar, 6, NV, Options > U_t
Definition: joint-revolute-unbounded-unaligned.hpp:47
pinocchio::PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION
PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelFreeFlyerTpl)
Free-flyer joint in .
pinocchio::MotionRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:21
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::TangentVector_t
Eigen::Matrix< Scalar, NV, 1, Options > TangentVector_t
Definition: joint-revolute-unbounded-unaligned.hpp:36
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unbounded-unaligned.hpp:73
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::calc
void calc(JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-revolute-unbounded-unaligned.hpp:200
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unbounded-unaligned.hpp:136
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-revolute-unbounded-unaligned.hpp:138
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Bias_t
MotionZeroTpl< Scalar, Options > Bias_t
Definition: joint-revolute-unbounded-unaligned.hpp:43
x
x
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::joint_q
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR ConfigVector_t joint_q
Definition: joint-revolute-unbounded-unaligned.hpp:77
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::createData
JointDataDerived createData() const
Definition: joint-revolute-unbounded-unaligned.hpp:166
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::Motion_t
MotionRevoluteUnalignedTpl< Scalar, Options > Motion_t
Definition: joint-revolute-unbounded-unaligned.hpp:42
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::shortname
std::string shortname() const
Definition: joint-revolute-unbounded-unaligned.hpp:238
pinocchio::context::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: context/generic.hpp:53
axis
axis
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::axis
Vector3 axis
axis of rotation of the joint.
Definition: joint-revolute-unbounded-unaligned.hpp:257
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-revolute-unbounded-unaligned.hpp:219
pinocchio::toRotationMatrix
void toRotationMatrix(const Eigen::MatrixBase< Vector3 > &axis, const Scalar &cos_value, const Scalar &sin_value, const Eigen::MatrixBase< Matrix3 > &res)
Computes a rotation matrix from a vector and values of sin and cos orientations values.
Definition: rotation.hpp:26
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::c
Bias_t c
Definition: joint-revolute-unbounded-unaligned.hpp:83
pinocchio::JointModelBase::idx_v
int idx_v() const
Definition: joint-model-base.hpp:164
pinocchio::internal::comparison_eq
bool comparison_eq(const LhsType &lhs_value, const RhsType &rhs_value)
Definition: utils/static-if.hpp:120
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-revolute-unbounded-unaligned.hpp:171
pinocchio::JointModelBase::idx_q
int idx_q() const
Definition: joint-model-base.hpp:160
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::classname
static std::string classname()
Definition: joint-revolute-unbounded-unaligned.hpp:234
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::v
Motion_t v
Definition: joint-revolute-unbounded-unaligned.hpp:82
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::JointDataRevoluteUnboundedUnalignedTpl
JointDataRevoluteUnboundedUnalignedTpl()
Definition: joint-revolute-unbounded-unaligned.hpp:91
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::classname
static std::string classname()
Definition: joint-revolute-unbounded-unaligned.hpp:118
pinocchio::JointDataRevoluteUnboundedUnalignedTpl
Definition: multibody/joint/fwd.hpp:50
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::JointModelRevoluteUnboundedUnalignedTpl
JointModelRevoluteUnboundedUnalignedTpl()
Definition: joint-revolute-unbounded-unaligned.hpp:146
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::joint_v
TangentVector_t joint_v
Definition: joint-revolute-unbounded-unaligned.hpp:78
pinocchio::JointDataRevoluteUnboundedUnalignedTpl::M
Transformation_t M
Definition: joint-revolute-unbounded-unaligned.hpp:80
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::UD_t
Eigen::Matrix< Scalar, 6, NV, Options > UD_t
Definition: joint-revolute-unbounded-unaligned.hpp:49
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::traits< JointRevoluteUnboundedUnalignedTpl< _Scalar, _Options > >::ConfigVector_t
Eigen::Matrix< Scalar, NQ, 1, Options > ConfigVector_t
Definition: joint-revolute-unbounded-unaligned.hpp:35
dcrba.NV
NV
Definition: dcrba.py:536
dpendulum.NQ
int NQ
Definition: dpendulum.py:9
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:128
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::Base
JointModelBase< JointModelRevoluteUnboundedUnalignedTpl > Base
Definition: joint-revolute-unbounded-unaligned.hpp:140
pinocchio::JointRevoluteUnboundedUnalignedTpl
Definition: joint-revolute-unbounded-unaligned.hpp:19
pinocchio::JointModelBase::isEqual
bool isEqual(const JointModelBase< OtherDerived > &) const
Definition: joint-model-base.hpp:242
pinocchio::normalize
void normalize(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &qout)
Normalize a configuration vector.
Definition: joint-configuration.hpp:887
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::cast
JointModelRevoluteUnboundedUnalignedTpl< NewScalar, Options > cast() const
Definition: joint-revolute-unbounded-unaligned.hpp:245
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
Definition: joint-revolute-unbounded-unaligned.hpp:188
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio::JointModelBase::id
JointIndex id() const
Definition: joint-model-base.hpp:168
pinocchio::JointModelRevoluteUnboundedUnalignedTpl::isEqual
bool isEqual(const JointModelRevoluteUnboundedUnalignedTpl &other) const
Definition: joint-revolute-unbounded-unaligned.hpp:182


pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:10