5 #ifndef __pinocchio_joint_collection_hpp__ 6 #define __pinocchio_joint_collection_hpp__ 8 #include "pinocchio/multibody/joint/fwd.hpp" 9 #include "pinocchio/multibody/joint/joints.hpp" 11 #include <boost/variant.hpp> 12 #include <boost/variant/recursive_wrapper.hpp> 17 template<
typename _Scalar,
int _Options>
18 struct JointCollectionDefaultTpl
20 typedef _Scalar Scalar;
21 enum { Options = _Options };
24 typedef JointModelRevoluteTpl<Scalar,Options,0> JointModelRX;
25 typedef JointModelRevoluteTpl<Scalar,Options,1> JointModelRY;
26 typedef JointModelRevoluteTpl<Scalar,Options,2> JointModelRZ;
28 typedef JointModelMimic<JointModelRX> JointModelMimicRX;
29 typedef JointModelMimic<JointModelRY> JointModelMimicRY;
30 typedef JointModelMimic<JointModelRZ> JointModelMimicRZ;
33 typedef JointModelRevoluteUnalignedTpl<Scalar,Options> JointModelRevoluteUnaligned;
36 typedef JointModelRevoluteUnboundedTpl<Scalar,Options,0> JointModelRUBX;
37 typedef JointModelRevoluteUnboundedTpl<Scalar,Options,1> JointModelRUBY;
38 typedef JointModelRevoluteUnboundedTpl<Scalar,Options,2> JointModelRUBZ;
41 typedef JointModelRevoluteUnboundedUnalignedTpl<Scalar,Options> JointModelRevoluteUnboundedUnaligned;
44 typedef JointModelPrismaticTpl<Scalar,Options,0> JointModelPX;
45 typedef JointModelPrismaticTpl<Scalar,Options,1> JointModelPY;
46 typedef JointModelPrismaticTpl<Scalar,Options,2> JointModelPZ;
49 typedef JointModelPrismaticUnalignedTpl<Scalar,Options> JointModelPrismaticUnaligned;
52 typedef JointModelSphericalTpl<Scalar,Options> JointModelSpherical;
55 typedef JointModelSphericalZYXTpl<Scalar,Options> JointModelSphericalZYX;
58 typedef JointModelTranslationTpl<Scalar,Options> JointModelTranslation;
61 typedef JointModelFreeFlyerTpl<Scalar,Options> JointModelFreeFlyer;
64 typedef JointModelPlanarTpl<Scalar,Options> JointModelPlanar;
67 typedef JointModelCompositeTpl<Scalar,Options,::pinocchio::JointCollectionDefaultTpl> JointModelComposite;
69 typedef boost::variant<
71 JointModelRX, JointModelRY, JointModelRZ
72 , JointModelMimicRX, JointModelMimicRY, JointModelMimicRZ
73 , JointModelFreeFlyer, JointModelPlanar
74 , JointModelRevoluteUnaligned
75 , JointModelSpherical, JointModelSphericalZYX
76 , JointModelPX, JointModelPY, JointModelPZ
77 , JointModelPrismaticUnaligned
78 , JointModelTranslation
79 , JointModelRUBX, JointModelRUBY, JointModelRUBZ
80 , JointModelRevoluteUnboundedUnaligned
81 , boost::recursive_wrapper<JointModelComposite>
86 typedef JointDataRevoluteTpl<Scalar,Options,0> JointDataRX;
87 typedef JointDataRevoluteTpl<Scalar,Options,1> JointDataRY;
88 typedef JointDataRevoluteTpl<Scalar,Options,2> JointDataRZ;
90 typedef JointDataMimic<JointDataRX> JointDataMimicRX;
91 typedef JointDataMimic<JointDataRY> JointDataMimicRY;
92 typedef JointDataMimic<JointDataRZ> JointDataMimicRZ;
95 typedef JointDataRevoluteUnalignedTpl<Scalar,Options> JointDataRevoluteUnaligned;
98 typedef JointDataRevoluteUnboundedUnalignedTpl<Scalar,Options> JointDataRevoluteUnboundedUnaligned;
101 typedef JointDataRevoluteUnboundedTpl<Scalar,Options,0> JointDataRUBX;
102 typedef JointDataRevoluteUnboundedTpl<Scalar,Options,1> JointDataRUBY;
103 typedef JointDataRevoluteUnboundedTpl<Scalar,Options,2> JointDataRUBZ;
106 typedef JointDataPrismaticTpl<Scalar,Options,0> JointDataPX;
107 typedef JointDataPrismaticTpl<Scalar,Options,1> JointDataPY;
108 typedef JointDataPrismaticTpl<Scalar,Options,2> JointDataPZ;
111 typedef JointDataPrismaticUnalignedTpl<Scalar,Options> JointDataPrismaticUnaligned;
114 typedef JointDataSphericalTpl<Scalar,Options> JointDataSpherical;
117 typedef JointDataSphericalZYXTpl<Scalar,Options> JointDataSphericalZYX;
120 typedef JointDataTranslationTpl<Scalar,Options> JointDataTranslation;
123 typedef JointDataFreeFlyerTpl<Scalar,Options> JointDataFreeFlyer;
126 typedef JointDataPlanarTpl<Scalar,Options> JointDataPlanar;
129 typedef JointDataCompositeTpl<Scalar,Options,::pinocchio::JointCollectionDefaultTpl> JointDataComposite;
131 typedef boost::variant<
133 JointDataRX, JointDataRY, JointDataRZ
134 , JointDataMimicRX, JointDataMimicRY, JointDataMimicRZ
135 , JointDataFreeFlyer, JointDataPlanar
136 , JointDataRevoluteUnaligned
137 , JointDataSpherical, JointDataSphericalZYX
138 , JointDataPX, JointDataPY, JointDataPZ
139 , JointDataPrismaticUnaligned
140 , JointDataTranslation
141 , JointDataRUBX, JointDataRUBY, JointDataRUBZ
142 , JointDataRevoluteUnboundedUnaligned
143 , boost::recursive_wrapper<JointDataComposite>
148 typedef JointCollectionDefault::JointModelVariant JointModelVariant;
149 typedef JointCollectionDefault::JointDataVariant JointDataVariant;
153 #endif // ifndef __pinocchio_joint_collection_hpp__ Main pinocchio namespace.