include
pinocchio
spatial
spatial/fwd.hpp
Go to the documentation of this file.
1
//
2
// Copyright (c) 2015-2025 CNRS INRIA
3
// Copyright (c) 2016 Wandercraft, 86 rue de Paris 91400 Orsay, France.
4
//
5
6
#ifndef __pinocchio_spatial_fwd_hpp__
7
#define __pinocchio_spatial_fwd_hpp__
8
9
#include "
pinocchio/fwd.hpp
"
10
#include "
pinocchio/macros.hpp
"
11
12
namespace
pinocchio
13
{
15
namespace
internal
16
{
18
template
<
typename
Type,
typename
Scalar>
19
struct
RHSScalarMultiplication
20
{
21
typedef
Type
ReturnType
;
22
};
23
25
template
<
typename
Type,
typename
Scalar>
26
struct
LHSScalarMultiplication
27
{
28
typedef
Type
ReturnType
;
29
};
30
}
// namespace internal
32
38
template
<
typename
Derived>
39
class
MotionBase
;
40
template
<
typename
Derived>
41
class
MotionDense
;
42
template
<
typename
Vector6ArgType>
43
class
MotionRef
;
44
template
<
typename
Scalar,
int
Options = context::Options>
45
struct
MotionZeroTpl
;
46
47
template
<
typename
Derived>
48
class
ForceBase
;
49
template
<
typename
Derived>
50
class
ForceDense
;
51
template
<
typename
Vector6ArgType>
52
class
ForceRef
;
53
54
template
<
typename
Scalar,
int
Options = context::Options>
55
class
Symmetric3Tpl
;
56
template
<
typename
Scalar,
int
Options = context::Options>
57
struct
PseudoInertiaTpl
;
58
template
<
typename
Scalar,
int
Options = context::Options>
59
struct
LogCholeskyParametersTpl
;
60
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
;
69
73
// end of group spatial
74
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; \
93
enum \
94
{ \
95
LINEAR = traits<derived>::LINEAR, \
96
ANGULAR = traits<derived>::ANGULAR \
97
}
98
99
#define SPATIAL_TYPEDEF_TEMPLATE(derived) SPATIAL_TYPEDEF_TEMPLATE_GENERIC(derived, typename)
100
101
#define SPATIAL_TYPEDEF_NO_TEMPLATE(derived) \
102
SPATIAL_TYPEDEF_TEMPLATE_GENERIC(derived, PINOCCHIO_MACRO_EMPTY_ARG)
103
104
namespace
internal
105
{
106
// for certain Scalar type, it might be needed to proceed to call some normalization procedure
107
// in when performing a cast. This struct is an helper to support such modality.
108
template
<
typename
Class,
typename
NewScalar,
typename
Scalar>
109
struct
cast_call_normalize_method;
110
}
// namespace internal
111
112
}
// namespace pinocchio
113
114
#endif // ifndef __pinocchio_spatial_fwd_hpp__
pinocchio::PseudoInertiaTpl
A structure representing a pseudo inertia matrix.
Definition:
spatial/fwd.hpp:57
pinocchio::Symmetric3
Symmetric3Tpl< context::Scalar, context::Options > Symmetric3
Definition:
spatial/fwd.hpp:65
macros.hpp
pinocchio::ForceBase
Base interface for forces representation.
Definition:
context/casadi.hpp:27
pinocchio::MotionZero
MotionZeroTpl< context::Scalar, context::Options > MotionZero
Definition:
spatial/fwd.hpp:66
pinocchio::SE3
context::SE3 SE3
Definition:
spatial/fwd.hpp:59
fwd.hpp
pinocchio::MotionDense
Definition:
context/casadi.hpp:31
pinocchio::PseudoInertia
PseudoInertiaTpl< context::Scalar, context::Options > PseudoInertia
Definition:
spatial/fwd.hpp:67
pinocchio::internal::RHSScalarMultiplication::ReturnType
Type ReturnType
Definition:
spatial/fwd.hpp:21
pinocchio::python::context::Motion
MotionTpl< Scalar, Options > Motion
Definition:
bindings/python/context/generic.hpp:54
pinocchio::LogCholeskyParameters
LogCholeskyParametersTpl< context::Scalar, context::Options > LogCholeskyParameters
Definition:
spatial/fwd.hpp:68
pinocchio::MotionBase
Definition:
spatial/fwd.hpp:39
pinocchio::MotionZeroTpl
Definition:
context/casadi.hpp:18
pinocchio::Force
context::Force Force
Definition:
spatial/fwd.hpp:63
pinocchio::LogCholeskyParametersTpl
A structure representing log Cholesky parameters.
Definition:
spatial/fwd.hpp:59
pinocchio::internal::LHSScalarMultiplication::ReturnType
Type ReturnType
Definition:
spatial/fwd.hpp:28
pinocchio::Inertia
context::Inertia Inertia
Definition:
spatial/fwd.hpp:64
pinocchio::ForceRef
Definition:
force-ref.hpp:53
pinocchio::Symmetric3Tpl
Definition:
spatial/fwd.hpp:55
pinocchio::ForceDense
Definition:
context/casadi.hpp:29
pinocchio::Motion
MotionTpl<::CppAD::AD< double >, 0 > Motion
Definition:
context/cppad.hpp:33
pinocchio::internal::LHSScalarMultiplication
 
Definition:
context/casadi.hpp:42
pinocchio::MotionRef
Definition:
context/casadi.hpp:33
pinocchio
Main pinocchio namespace.
Definition:
timings.cpp:33
pinocchio
Author(s):
autogenerated on Wed May 28 2025 02:41:18