Go to the documentation of this file.
6 #ifndef __pinocchio_spatial_force_tpl_hpp__
7 #define __pinocchio_spatial_force_tpl_hpp__
11 template<
typename _Scalar,
int _Options>
15 typedef Eigen::Matrix<Scalar, 3, 1, _Options>
Vector3;
16 typedef Eigen::Matrix<Scalar, 6, 1, _Options>
Vector6;
17 typedef Eigen::Matrix<Scalar, 6, 6, _Options>
Matrix6;
20 typedef typename Vector6::template FixedSegmentReturnType<3>::Type
LinearType;
21 typedef typename Vector6::template FixedSegmentReturnType<3>::Type
AngularType;
22 typedef typename Vector6::template ConstFixedSegmentReturnType<3>::Type
ConstLinearType;
23 typedef typename Vector6::template ConstFixedSegmentReturnType<3>::Type
ConstAngularType;
35 template<
typename _Scalar,
int _Options>
39 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
47 using Base::operator=;
48 using Base::operator!=;
57 template<
typename V1,
typename V2>
58 ForceTpl(
const Eigen::MatrixBase<V1> &
v,
const Eigen::MatrixBase<V2> &
w)
60 EIGEN_STATIC_ASSERT_VECTOR_ONLY(
V1);
61 EIGEN_STATIC_ASSERT_VECTOR_ONLY(V2);
70 EIGEN_STATIC_ASSERT_VECTOR_ONLY(V6);
78 template<
typename S2,
int O2>
81 *
this = other.template cast<Scalar>();
102 template<
typename M2>
105 linear() =
clone.linear();
106 angular() =
clone.angular();
131 return m_data.template segment<3>(ANGULAR);
135 return m_data.template segment<3>(LINEAR);
139 return m_data.template segment<3>(ANGULAR);
143 return m_data.template segment<3>(LINEAR);
146 template<
typename V3>
149 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(V3, 3);
152 template<
typename V3>
155 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(V3, 3);
165 template<
typename NewScalar>
169 ReturnType
res(linear().
template cast<NewScalar>(), angular().
template cast<NewScalar>());
180 #endif // ifndef __pinocchio_spatial_force_tpl_hpp__
Vector6::template ConstFixedSegmentReturnType< 3 >::Type ConstLinearType
Vector6::template FixedSegmentReturnType< 3 >::Type LinearType
Base interface for forces representation.
Eigen::Matrix< Scalar, 3, 1, _Options > Vector3
PINOCCHIO_EIGEN_REF_CONST_TYPE(Matrix6Like) operator*(const Eigen
Eigen::Matrix< Scalar, 6, 1, _Options > Vector6
ForceRef< Vector6 > ref()
void angular_impl(const Eigen::MatrixBase< V3 > &w)
ForceRef< Vector6 > ForceRefType
ForceTpl< NewScalar, Options > cast() const
ForceTpl(const Eigen::MatrixBase< V1 > &v, const Eigen::MatrixBase< V2 > &w)
void linear_impl(const Eigen::MatrixBase< V3 > &v)
Vector6::template ConstFixedSegmentReturnType< 3 >::Type ConstAngularType
ToVectorReturnType toVector_impl()
ForceTpl(const ForceDense< M2 > &clone)
ForceTpl(const ForceTpl &clone)
ForceTpl(const Eigen::MatrixBase< V6 > &v)
ConstAngularType angular_impl() const
FORCE_TYPEDEF_TPL(ForceTpl)
ForceTpl(const ForceTpl< S2, O2 > &other)
virtual CollisionGeometry * clone() const=0
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
ForceTpl & operator=(const ForceTpl &clone)
Eigen::Matrix< Scalar, 6, 6, _Options > Matrix6
ForceTpl(const ForceBase< F2 > &clone)
AngularType angular_impl()
Common traits structure to fully define base classes for CRTP.
ConstLinearType linear_impl() const
#define PINOCCHIO_EIGEN_REF_TYPE(D)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ForceDense< ForceTpl > Base
ForceTpl< Scalar, _Options > ForcePlain
ForceTpl(const ForceTpl< Scalar, O2 > &clone)
Vector6::template FixedSegmentReturnType< 3 >::Type AngularType
ToVectorConstReturnType toVector_impl() const
Main pinocchio namespace.
pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:09