6 #ifndef __pinocchio_spatial_fwd_hpp__
7 #define __pinocchio_spatial_fwd_hpp__
9 #include "pinocchio/fwd.hpp"
10 #include "pinocchio/macros.hpp"
18 template<
typename Type,
typename Scalar>
19 struct RHSScalarMultiplication
21 typedef Type ReturnType;
25 template<
typename Type,
typename Scalar>
26 struct LHSScalarMultiplication
28 typedef Type ReturnType;
38 template<
typename Derived>
40 template<
typename Derived>
42 template<
typename Vector6ArgType>
44 template<
typename Scalar,
int Options = context::Options>
47 template<
typename Derived>
49 template<
typename Derived>
51 template<
typename Vector6ArgType>
54 template<
typename Scalar,
int Options = context::Options>
56 template<
typename Scalar,
int Options = context::Options>
57 struct PseudoInertiaTpl;
58 template<
typename Scalar,
int Options = context::Options>
59 struct LogCholeskyParametersTpl;
61 typedef context::SE3 SE3;
62 typedef context::Motion Motion;
63 typedef context::Force Force;
64 typedef context::Inertia Inertia;
65 typedef Symmetric3Tpl<context::Scalar, context::Options> Symmetric3;
66 typedef MotionZeroTpl<context::Scalar, context::Options> MotionZero;
67 typedef PseudoInertiaTpl<context::Scalar, context::Options> PseudoInertia;
68 typedef LogCholeskyParametersTpl<context::Scalar, context::Options> LogCholeskyParameters;
75 #define SPATIAL_TYPEDEF_TEMPLATE_GENERIC(derived, TYPENAME) \
76 typedef TYPENAME traits<derived>::Scalar Scalar; \
77 typedef TYPENAME traits<derived>::Vector3 Vector3; \
78 typedef TYPENAME traits<derived>::Vector4 Vector4; \
79 typedef TYPENAME traits<derived>::Vector6 Vector6; \
80 typedef TYPENAME traits<derived>::Matrix3 Matrix3; \
81 typedef TYPENAME traits<derived>::Matrix4 Matrix4; \
82 typedef TYPENAME traits<derived>::Matrix6 Matrix6; \
83 typedef TYPENAME traits<derived>::Angular_t Angular_t; \
84 typedef TYPENAME traits<derived>::Linear_t Linear_t; \
85 typedef TYPENAME traits<derived>::ConstAngular_t ConstAngular_t; \
86 typedef TYPENAME traits<derived>::ConstLinear_t ConstLinear_t; \
87 typedef TYPENAME traits<derived>::ActionMatrix_t ActionMatrix_t; \
88 typedef TYPENAME traits<derived>::Quaternion_t Quaternion_t; \
89 typedef TYPENAME traits<derived>::SE3 SE3; \
90 typedef TYPENAME traits<derived>::Force Force; \
91 typedef TYPENAME traits<derived>::Motion Motion; \
92 typedef TYPENAME traits<derived>::Symmetric3 Symmetric3; \
95 LINEAR = traits<derived>::LINEAR, \
96 ANGULAR = traits<derived>::ANGULAR \
99 #define SPATIAL_TYPEDEF_TEMPLATE(derived) SPATIAL_TYPEDEF_TEMPLATE_GENERIC(derived, typename)
101 #define SPATIAL_TYPEDEF_NO_TEMPLATE(derived) \
102 SPATIAL_TYPEDEF_TEMPLATE_GENERIC(derived, PINOCCHIO_MACRO_EMPTY_ARG)
108 template<
typename Class,
typename NewScalar,
typename Scalar>
109 struct cast_call_normalize_method;
Main pinocchio namespace.