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>
19  {
20  typedef _Scalar Scalar;
21  enum
22  {
23  Options = _Options
24  };
25 
26  // Joint Revolute
30 
31  // Joint Revolute Unaligned
33 
34  // Joint Revolute UBounded
38 
39  // Joint Revolute Unbounded Unaligned
42 
43  // Joint Prismatic
47 
48  // Joint Prismatic Unaligned
50 
51  // Joint Spherical
53 
54  // Joint Spherical ZYX
56 
57  // Joint Translation
59 
60  // Joint FreeFlyer
62 
63  // Joint Planar
65 
66  // Joint Composite
69 
70  // Joint Mimic
73 
74  // Joint Helical
78 
79  // Joint Helical Unaligned
81 
82  // Joint Universal
84 
85  typedef boost::variant<
86  // JointModelVoid,
104  JointModelHx,
105  JointModelHy,
106  JointModelHz,
109  boost::recursive_wrapper<JointModelComposite>,
110  boost::recursive_wrapper<JointModelMimic>>
111  JointModelVariant;
112 
113  // Joint Revolute
117 
118  // Joint Revolute Unaligned
120 
121  // Joint Revolute Unaligned
124 
125  // Joint Revolute UBounded
129 
130  // Joint Prismatic
134 
135  // Joint Prismatic Unaligned
137 
138  // Joint Spherical
140 
141  // Joint Spherical ZYX
143 
144  // Joint Translation
146 
147  // Joint FreeFlyer
149 
150  // Joint Planar
152 
153  // Joint Composite
156 
157  // Joint Mimic
160 
161  // Joint Helical
165 
166  // Joint Helical Unaligned
168 
169  // Joint Universal
171 
172  typedef boost::variant<
173  // JointDataVoid
174  JointDataRX,
175  JointDataRY,
176  JointDataRZ,
182  JointDataPX,
183  JointDataPY,
184  JointDataPZ,
191  JointDataHx,
192  JointDataHy,
193  JointDataHz,
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__
Main pinocchio namespace.
Definition: treeview.dox:11