pinocchio
3.5.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
joint-collection.hpp
1
//
2
// Copyright (c) 2018-2019 CNRS INRIA
3
//
4
5
#ifndef __pinocchio_multibody_joint_collection_hpp__
6
#define __pinocchio_multibody_joint_collection_hpp__
7
8
#include "pinocchio/multibody/joint/fwd.hpp"
9
#include "pinocchio/multibody/joint/joints.hpp"
10
11
#include <boost/variant.hpp>
12
#include <boost/variant/recursive_wrapper.hpp>
13
14
namespace
pinocchio
15
{
16
17
template
<
typename
_Scalar,
int
_Options>
18
struct
JointCollectionDefaultTpl
19
{
20
typedef
_Scalar Scalar;
21
enum
22
{
23
Options = _Options
24
};
25
26
// Joint Revolute
27
typedef
JointModelRevoluteTpl<Scalar, Options, 0>
JointModelRX
;
28
typedef
JointModelRevoluteTpl<Scalar, Options, 1>
JointModelRY
;
29
typedef
JointModelRevoluteTpl<Scalar, Options, 2>
JointModelRZ
;
30
31
// Joint Revolute Unaligned
32
typedef
JointModelRevoluteUnalignedTpl<Scalar, Options>
JointModelRevoluteUnaligned
;
33
34
// Joint Revolute UBounded
35
typedef
JointModelRevoluteUnboundedTpl<Scalar, Options, 0>
JointModelRUBX
;
36
typedef
JointModelRevoluteUnboundedTpl<Scalar, Options, 1>
JointModelRUBY
;
37
typedef
JointModelRevoluteUnboundedTpl<Scalar, Options, 2>
JointModelRUBZ
;
38
39
// Joint Revolute Unbounded Unaligned
40
typedef
JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>
41
JointModelRevoluteUnboundedUnaligned
;
42
43
// Joint Prismatic
44
typedef
JointModelPrismaticTpl<Scalar, Options, 0>
JointModelPX
;
45
typedef
JointModelPrismaticTpl<Scalar, Options, 1>
JointModelPY
;
46
typedef
JointModelPrismaticTpl<Scalar, Options, 2>
JointModelPZ
;
47
48
// Joint Prismatic Unaligned
49
typedef
JointModelPrismaticUnalignedTpl<Scalar, Options>
JointModelPrismaticUnaligned
;
50
51
// Joint Spherical
52
typedef
JointModelSphericalTpl<Scalar, Options>
JointModelSpherical
;
53
54
// Joint Spherical ZYX
55
typedef
JointModelSphericalZYXTpl<Scalar, Options>
JointModelSphericalZYX
;
56
57
// Joint Translation
58
typedef
JointModelTranslationTpl<Scalar, Options>
JointModelTranslation
;
59
60
// Joint FreeFlyer
61
typedef
JointModelFreeFlyerTpl<Scalar, Options>
JointModelFreeFlyer
;
62
63
// Joint Planar
64
typedef
JointModelPlanarTpl<Scalar, Options>
JointModelPlanar
;
65
66
// Joint Composite
67
typedef
JointModelCompositeTpl<Scalar, Options, ::pinocchio::JointCollectionDefaultTpl>
68
JointModelComposite
;
69
70
// Joint Mimic
71
typedef
JointModelMimicTpl<Scalar, Options, ::pinocchio::JointCollectionDefaultTpl>
72
JointModelMimic
;
73
74
// Joint Helical
75
typedef
JointModelHelicalTpl<Scalar, Options, 0>
JointModelHx
;
76
typedef
JointModelHelicalTpl<Scalar, Options, 1>
JointModelHy
;
77
typedef
JointModelHelicalTpl<Scalar, Options, 2>
JointModelHz
;
78
79
// Joint Helical Unaligned
80
typedef
JointModelHelicalUnalignedTpl<Scalar, Options>
JointModelHelicalUnaligned
;
81
82
// Joint Universal
83
typedef
JointModelUniversalTpl<Scalar, Options>
JointModelUniversal
;
84
85
typedef
boost::variant<
86
// JointModelVoid,
87
JointModelRX
,
88
JointModelRY
,
89
JointModelRZ
,
90
JointModelFreeFlyer
,
91
JointModelPlanar
,
92
JointModelRevoluteUnaligned
,
93
JointModelSpherical
,
94
JointModelSphericalZYX
,
95
JointModelPX
,
96
JointModelPY
,
97
JointModelPZ
,
98
JointModelPrismaticUnaligned
,
99
JointModelTranslation
,
100
JointModelRUBX
,
101
JointModelRUBY
,
102
JointModelRUBZ
,
103
JointModelRevoluteUnboundedUnaligned
,
104
JointModelHx
,
105
JointModelHy
,
106
JointModelHz
,
107
JointModelHelicalUnaligned
,
108
JointModelUniversal
,
109
boost::recursive_wrapper<JointModelComposite>,
110
boost::recursive_wrapper<JointModelMimic>>
111
JointModelVariant;
112
113
// Joint Revolute
114
typedef
JointDataRevoluteTpl<Scalar, Options, 0>
JointDataRX
;
115
typedef
JointDataRevoluteTpl<Scalar, Options, 1>
JointDataRY
;
116
typedef
JointDataRevoluteTpl<Scalar, Options, 2>
JointDataRZ
;
117
118
// Joint Revolute Unaligned
119
typedef
JointDataRevoluteUnalignedTpl<Scalar, Options>
JointDataRevoluteUnaligned
;
120
121
// Joint Revolute Unaligned
122
typedef
JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options>
123
JointDataRevoluteUnboundedUnaligned
;
124
125
// Joint Revolute UBounded
126
typedef
JointDataRevoluteUnboundedTpl<Scalar, Options, 0>
JointDataRUBX
;
127
typedef
JointDataRevoluteUnboundedTpl<Scalar, Options, 1>
JointDataRUBY
;
128
typedef
JointDataRevoluteUnboundedTpl<Scalar, Options, 2>
JointDataRUBZ
;
129
130
// Joint Prismatic
131
typedef
JointDataPrismaticTpl<Scalar, Options, 0>
JointDataPX
;
132
typedef
JointDataPrismaticTpl<Scalar, Options, 1>
JointDataPY
;
133
typedef
JointDataPrismaticTpl<Scalar, Options, 2>
JointDataPZ
;
134
135
// Joint Prismatic Unaligned
136
typedef
JointDataPrismaticUnalignedTpl<Scalar, Options>
JointDataPrismaticUnaligned
;
137
138
// Joint Spherical
139
typedef
JointDataSphericalTpl<Scalar, Options>
JointDataSpherical
;
140
141
// Joint Spherical ZYX
142
typedef
JointDataSphericalZYXTpl<Scalar, Options>
JointDataSphericalZYX
;
143
144
// Joint Translation
145
typedef
JointDataTranslationTpl<Scalar, Options>
JointDataTranslation
;
146
147
// Joint FreeFlyer
148
typedef
JointDataFreeFlyerTpl<Scalar, Options>
JointDataFreeFlyer
;
149
150
// Joint Planar
151
typedef
JointDataPlanarTpl<Scalar, Options>
JointDataPlanar
;
152
153
// Joint Composite
154
typedef
JointDataCompositeTpl<Scalar, Options, ::pinocchio::JointCollectionDefaultTpl>
155
JointDataComposite
;
156
157
// Joint Mimic
158
typedef
JointDataMimicTpl<Scalar, Options, ::pinocchio::JointCollectionDefaultTpl>
159
JointDataMimic
;
160
161
// Joint Helical
162
typedef
JointDataHelicalTpl<Scalar, Options, 0>
JointDataHx
;
163
typedef
JointDataHelicalTpl<Scalar, Options, 1>
JointDataHy
;
164
typedef
JointDataHelicalTpl<Scalar, Options, 2>
JointDataHz
;
165
166
// Joint Helical Unaligned
167
typedef
JointDataHelicalUnalignedTpl<Scalar, Options>
JointDataHelicalUnaligned
;
168
169
// Joint Universal
170
typedef
JointDataUniversalTpl<Scalar, Options>
JointDataUniversal
;
171
172
typedef
boost::variant<
173
// JointDataVoid
174
JointDataRX
,
175
JointDataRY
,
176
JointDataRZ
,
177
JointDataFreeFlyer
,
178
JointDataPlanar
,
179
JointDataRevoluteUnaligned
,
180
JointDataSpherical
,
181
JointDataSphericalZYX
,
182
JointDataPX
,
183
JointDataPY
,
184
JointDataPZ
,
185
JointDataPrismaticUnaligned
,
186
JointDataTranslation
,
187
JointDataRUBX
,
188
JointDataRUBY
,
189
JointDataRUBZ
,
190
JointDataRevoluteUnboundedUnaligned
,
191
JointDataHx
,
192
JointDataHy
,
193
JointDataHz
,
194
JointDataHelicalUnaligned
,
195
JointDataUniversal
,
196
boost::recursive_wrapper<JointDataComposite>,
197
boost::recursive_wrapper<JointDataMimic>>
198
JointDataVariant;
199
};
200
201
typedef
JointCollectionDefault::JointModelVariant JointModelVariant;
202
typedef
JointCollectionDefault::JointDataVariant JointDataVariant;
203
204
}
// namespace pinocchio
205
206
#endif
// ifndef __pinocchio_multibody_joint_collection_hpp__
pinocchio
Main pinocchio namespace.
Definition:
treeview.dox:11
pinocchio::JointCollectionDefaultTpl
Definition:
joint-collection.hpp:19
pinocchio::JointDataCompositeTpl
Definition:
joint-composite.hpp:73
pinocchio::JointDataFreeFlyerTpl
Definition:
joint-free-flyer.hpp:215
pinocchio::JointDataHelicalTpl
Definition:
joint-helical.hpp:782
pinocchio::JointDataHelicalUnalignedTpl
Definition:
joint-helical-unaligned.hpp:572
pinocchio::JointDataMimicTpl
Definition:
joint-mimic.hpp:371
pinocchio::JointDataPlanarTpl
Definition:
joint-planar.hpp:517
pinocchio::JointDataPrismaticTpl
Definition:
joint-prismatic.hpp:618
pinocchio::JointDataPrismaticUnalignedTpl
Definition:
joint-prismatic-unaligned.hpp:519
pinocchio::JointDataRevoluteTpl
Definition:
joint-revolute.hpp:706
pinocchio::JointDataRevoluteUnalignedTpl
Definition:
joint-revolute-unaligned.hpp:551
pinocchio::JointDataRevoluteUnboundedTpl
Definition:
joint-revolute-unbounded.hpp:71
pinocchio::JointDataRevoluteUnboundedUnalignedTpl
Definition:
joint-revolute-unbounded-unaligned.hpp:74
pinocchio::JointDataSphericalTpl
Definition:
joint-spherical.hpp:429
pinocchio::JointDataSphericalZYXTpl
Definition:
joint-spherical-ZYX.hpp:327
pinocchio::JointDataTranslationTpl
Definition:
joint-translation.hpp:526
pinocchio::JointDataUniversalTpl
Definition:
joint-universal.hpp:360
pinocchio::JointModelCompositeTpl
Definition:
joint-composite.hpp:175
pinocchio::JointModelFreeFlyerTpl
Free-flyer joint in .
Definition:
joint-free-flyer.hpp:286
pinocchio::JointModelHelicalTpl
Definition:
joint-helical.hpp:834
pinocchio::JointModelHelicalUnalignedTpl
Definition:
joint-helical-unaligned.hpp:634
pinocchio::JointModelMimicTpl
Definition:
joint-mimic.hpp:559
pinocchio::JointModelPlanarTpl
Definition:
joint-planar.hpp:563
pinocchio::JointModelPrismaticTpl
Definition:
joint-prismatic.hpp:670
pinocchio::JointModelPrismaticUnalignedTpl
Definition:
joint-prismatic-unaligned.hpp:588
pinocchio::JointModelRevoluteTpl
Definition:
joint-revolute.hpp:758
pinocchio::JointModelRevoluteUnalignedTpl
Definition:
joint-revolute-unaligned.hpp:613
pinocchio::JointModelRevoluteUnboundedTpl
Definition:
joint-revolute-unbounded.hpp:123
pinocchio::JointModelRevoluteUnboundedUnalignedTpl
Definition:
joint-revolute-unbounded-unaligned.hpp:137
pinocchio::JointModelSphericalTpl
Definition:
joint-spherical.hpp:476
pinocchio::JointModelSphericalZYXTpl
Definition:
joint-spherical-ZYX.hpp:376
pinocchio::JointModelTranslationTpl
Definition:
joint-translation.hpp:573
pinocchio::JointModelUniversalTpl
Definition:
joint-universal.hpp:408
include
pinocchio
multibody
joint
joint-collection.hpp
Generated by
1.9.1