pinocchio  3.3.1
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 
34 
35  // Joint Revolute Unaligned
37 
38  // Joint Revolute UBounded
42 
43  // Joint Revolute Unbounded Unaligned
46 
47  // Joint Prismatic
51 
52  // Joint Prismatic Unaligned
54 
55  // Joint Spherical
57 
58  // Joint Spherical ZYX
60 
61  // Joint Translation
63 
64  // Joint FreeFlyer
66 
67  // Joint Planar
69 
70  // Joint Composite
73 
74  // Joint Helical
78 
79  // Joint Helical Unaligned
81 
82  // Joint Universal
84 
85  typedef boost::variant<
86  // JointModelVoid,
100  JointModelPZ,
107  JointModelHx,
108  JointModelHy,
109  JointModelHz,
112  boost::recursive_wrapper<JointModelComposite>>
113  JointModelVariant;
114 
115  // Joint Revolute
119 
123 
124  // Joint Revolute Unaligned
126 
127  // Joint Revolute Unaligned
130 
131  // Joint Revolute UBounded
135 
136  // Joint Prismatic
140 
141  // Joint Prismatic Unaligned
143 
144  // Joint Spherical
146 
147  // Joint Spherical ZYX
149 
150  // Joint Translation
152 
153  // Joint FreeFlyer
155 
156  // Joint Planar
158 
159  // Joint Composite
162 
163  // Joint Helical
167 
168  // Joint Helical Unaligned
170 
171  // Joint Universal
173 
174  typedef boost::variant<
175  // JointDataVoid
176  JointDataRX,
177  JointDataRY,
178  JointDataRZ,
187  JointDataPX,
188  JointDataPY,
189  JointDataPZ,
196  JointDataHx,
197  JointDataHy,
198  JointDataHz,
201  boost::recursive_wrapper<JointDataComposite>>
202  JointDataVariant;
203  };
204 
205  typedef JointCollectionDefault::JointModelVariant JointModelVariant;
206  typedef JointCollectionDefault::JointDataVariant JointDataVariant;
207 
208 } // namespace pinocchio
209 
210 #endif // ifndef __pinocchio_multibody_joint_collection_hpp__
Main pinocchio namespace.
Definition: treeview.dox:11