pinocchio  3.9.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
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
14namespace pinocchio
15{
16
17 template<typename _Scalar, int _Options>
19 {
20 typedef _Scalar Scalar;
21 enum
22 {
23 Options = _Options
24 };
25
26 // Joint Revolute
30
31 // Joint Revolute Unaligned
32 typedef JointModelRevoluteUnalignedTpl<Scalar, Options> JointModelRevoluteUnaligned;
33
34 // Joint Revolute UBounded
38
39 // Joint Revolute Unbounded Unaligned
41 JointModelRevoluteUnboundedUnaligned;
42
43 // Joint Prismatic
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 Ellipsoid
58 typedef JointModelEllipsoidTpl<Scalar, Options> JointModelEllipsoid;
59
60 // Joint Translation
61 typedef JointModelTranslationTpl<Scalar, Options> JointModelTranslation;
62
63 // Joint FreeFlyer
64 typedef JointModelFreeFlyerTpl<Scalar, Options> JointModelFreeFlyer;
65
66 // Joint Planar
67 typedef JointModelPlanarTpl<Scalar, Options> JointModelPlanar;
68
69 // Joint Composite
71 JointModelComposite;
72
73 // Joint Mimic
75 JointModelMimic;
76
77 // Joint Helical
81
82 // Joint Helical Unaligned
83 typedef JointModelHelicalUnalignedTpl<Scalar, Options> JointModelHelicalUnaligned;
84
85 // Joint Universal
86 typedef JointModelUniversalTpl<Scalar, Options> JointModelUniversal;
87
88 typedef boost::variant<
89 // JointModelVoid,
90 JointModelRX,
91 JointModelRY,
92 JointModelRZ,
93 JointModelFreeFlyer,
94 JointModelPlanar,
95 JointModelRevoluteUnaligned,
96 JointModelSpherical,
97 JointModelSphericalZYX,
98 JointModelEllipsoid,
99 JointModelPX,
100 JointModelPY,
101 JointModelPZ,
102 JointModelPrismaticUnaligned,
103 JointModelTranslation,
104 JointModelRUBX,
105 JointModelRUBY,
106 JointModelRUBZ,
107 JointModelRevoluteUnboundedUnaligned,
108 JointModelHx,
109 JointModelHy,
110 JointModelHz,
111 JointModelHelicalUnaligned,
112 JointModelUniversal,
113 boost::recursive_wrapper<JointModelComposite>,
114 boost::recursive_wrapper<JointModelMimic>>
115 JointModelVariant;
116
117 // Joint Revolute
121
122 // Joint Revolute Unaligned
123 typedef JointDataRevoluteUnalignedTpl<Scalar, Options> JointDataRevoluteUnaligned;
124
125 // Joint Revolute Unaligned
127 JointDataRevoluteUnboundedUnaligned;
128
129 // Joint Revolute UBounded
133
134 // Joint Prismatic
138
139 // Joint Prismatic Unaligned
140 typedef JointDataPrismaticUnalignedTpl<Scalar, Options> JointDataPrismaticUnaligned;
141
142 // Joint Spherical
143 typedef JointDataSphericalTpl<Scalar, Options> JointDataSpherical;
144
145 // Joint Spherical ZYX
146 typedef JointDataSphericalZYXTpl<Scalar, Options> JointDataSphericalZYX;
147
148 // Joint Ellipsoid
149 typedef JointDataEllipsoidTpl<Scalar, Options> JointDataEllipsoid;
150
151 // Joint Translation
152 typedef JointDataTranslationTpl<Scalar, Options> JointDataTranslation;
153
154 // Joint FreeFlyer
155 typedef JointDataFreeFlyerTpl<Scalar, Options> JointDataFreeFlyer;
156
157 // Joint Planar
158 typedef JointDataPlanarTpl<Scalar, Options> JointDataPlanar;
159
160 // Joint Composite
162 JointDataComposite;
163
164 // Joint Mimic
166 JointDataMimic;
167
168 // Joint Helical
172
173 // Joint Helical Unaligned
174 typedef JointDataHelicalUnalignedTpl<Scalar, Options> JointDataHelicalUnaligned;
175
176 // Joint Universal
177 typedef JointDataUniversalTpl<Scalar, Options> JointDataUniversal;
178
179 typedef boost::variant<
180 // JointDataVoid
181 JointDataRX,
182 JointDataRY,
183 JointDataRZ,
184 JointDataFreeFlyer,
185 JointDataPlanar,
186 JointDataRevoluteUnaligned,
187 JointDataSpherical,
188 JointDataSphericalZYX,
189 JointDataEllipsoid,
190 JointDataPX,
191 JointDataPY,
192 JointDataPZ,
193 JointDataPrismaticUnaligned,
194 JointDataTranslation,
195 JointDataRUBX,
196 JointDataRUBY,
197 JointDataRUBZ,
198 JointDataRevoluteUnboundedUnaligned,
199 JointDataHx,
200 JointDataHy,
201 JointDataHz,
202 JointDataHelicalUnaligned,
203 JointDataUniversal,
204 boost::recursive_wrapper<JointDataComposite>,
205 boost::recursive_wrapper<JointDataMimic>>
206 JointDataVariant;
207 };
208
209 typedef JointCollectionDefault::JointModelVariant JointModelVariant;
210 typedef JointCollectionDefault::JointDataVariant JointDataVariant;
211
212} // namespace pinocchio
213
214#endif // ifndef __pinocchio_multibody_joint_collection_hpp__
Main pinocchio namespace.
Definition treeview.dox:11
Ellipsoid joint - constrains motion to ellipsoid surface with 3-DOF.