29 #ifndef HPP_PINOCCHIO_LIEGROUP_HH
30 #define HPP_PINOCCHIO_LIEGROUP_HH
32 #include <pinocchio/multibody/joint/fwd.hpp>
43 typedef ::pinocchio::JointModelCompositeTpl<value_type, 0, JointCollectionTpl>
53 template <
typename Jo
intModel>
64 template <
typename Jo
intModel>
72 template <
typename Scalar,
int Options,
int Axis>
74 ::pinocchio::JointModelRevoluteTpl<Scalar, Options, Axis> > {
77 template <
typename Scalar,
int Options,
int Axis>
78 struct RnxSOnLieGroupMap::operation<
79 ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, Axis> > {
80 typedef liegroup::SpecialOrthogonalOperation<2> type;
82 template <
typename Scalar,
int Options>
83 struct RnxSOnLieGroupMap::operation<
84 ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options> > {
85 typedef liegroup::VectorSpaceOperation<1, true> type;
87 #if PINOCCHIO_VERSION_AT_LEAST(2, 1, 5)
88 template <
typename Scalar,
int Options>
89 struct RnxSOnLieGroupMap::operation<
90 ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options> > {
91 typedef liegroup::SpecialOrthogonalOperation<2> type;
96 template <
typename Scalar,
int Options,
int Axis>
97 struct RnxSOnLieGroupMap::operation<
98 ::pinocchio::JointModelPrismaticTpl<Scalar, Options, Axis> > {
99 typedef liegroup::VectorSpaceOperation<1, false> type;
101 template <
typename Scalar,
int Options>
102 struct RnxSOnLieGroupMap::operation<
103 ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options> > {
104 typedef liegroup::VectorSpaceOperation<1, false> type;
106 template <
typename Scalar,
int Options>
107 struct RnxSOnLieGroupMap::operation<
108 ::pinocchio::JointModelTranslationTpl<Scalar, Options> > {
109 typedef liegroup::VectorSpaceOperation<3, false> type;
113 template <
typename Scalar,
int Options>
114 struct RnxSOnLieGroupMap::operation<
115 ::pinocchio::JointModelSphericalTpl<Scalar, Options> > {
116 typedef liegroup::SpecialOrthogonalOperation<3> type;
118 template <
typename Scalar,
int Options>
119 struct RnxSOnLieGroupMap::operation<
120 ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options> > {
121 typedef liegroup::VectorSpaceOperation<3, true> type;
125 template <
typename Scalar,
int Options>
126 struct RnxSOnLieGroupMap::operation<
127 ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options> > {
128 typedef liegroup::CartesianProductOperation<
129 liegroup::VectorSpaceOperation<3, false>,
130 liegroup::SpecialOrthogonalOperation<3> >
133 template <
typename Scalar,
int Options>
134 struct RnxSOnLieGroupMap::operation<
135 ::pinocchio::JointModelPlanarTpl<Scalar, Options> > {
136 typedef liegroup::CartesianProductOperation<
137 liegroup::VectorSpaceOperation<2, false>,
138 liegroup::SpecialOrthogonalOperation<2> >
146 template <
typename Scalar,
int Options,
int Axis>
147 struct DefaultLieGroupMap::operation<
148 ::pinocchio::JointModelRevoluteTpl<Scalar, Options, Axis> > {
149 typedef liegroup::VectorSpaceOperation<1, true> type;
151 template <
typename Scalar,
int Options,
int Axis>
152 struct DefaultLieGroupMap::operation<
153 ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, Axis> > {
154 typedef liegroup::SpecialOrthogonalOperation<2> type;
156 template <
typename Scalar,
int Options>
157 struct DefaultLieGroupMap::operation<
158 ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options> > {
159 typedef liegroup::VectorSpaceOperation<1, true> type;
161 #if PINOCCHIO_VERSION_AT_LEAST(2, 1, 5)
162 template <
typename Scalar,
int Options>
163 struct DefaultLieGroupMap::operation<
164 ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options> > {
165 typedef liegroup::SpecialOrthogonalOperation<2> type;
170 template <
typename Scalar,
int Options,
int Axis>
171 struct DefaultLieGroupMap::operation<
172 ::pinocchio::JointModelPrismaticTpl<Scalar, Options, Axis> > {
173 typedef liegroup::VectorSpaceOperation<1, false> type;
175 template <
typename Scalar,
int Options>
176 struct DefaultLieGroupMap::operation<
177 ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options> > {
178 typedef liegroup::VectorSpaceOperation<1, false> type;
180 template <
typename Scalar,
int Options>
181 struct DefaultLieGroupMap::operation<
182 ::pinocchio::JointModelTranslationTpl<Scalar, Options> > {
183 typedef liegroup::VectorSpaceOperation<3, false> type;
187 template <
typename Scalar,
int Options>
188 struct DefaultLieGroupMap::operation<
189 ::pinocchio::JointModelSphericalTpl<Scalar, Options> > {
190 typedef liegroup::SpecialOrthogonalOperation<3> type;
192 template <
typename Scalar,
int Options>
193 struct DefaultLieGroupMap::operation<
194 ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options> > {
195 typedef liegroup::VectorSpaceOperation<3, true> type;
199 template <
typename Scalar,
int Options>
200 struct DefaultLieGroupMap::operation<
201 ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options> > {
202 typedef liegroup::SpecialEuclideanOperation<3> type;
204 template <
typename Scalar,
int Options>
205 struct DefaultLieGroupMap::operation<
206 ::pinocchio::JointModelPlanarTpl<Scalar, Options> > {
207 typedef liegroup::SpecialEuclideanOperation<2> type;
::pinocchio::JointModelCompositeTpl< value_type, 0, JointCollectionTpl > JointModelComposite
Definition: liegroup.hh:44
Utility functions.
Definition: body.hh:39
Definition: collision-object.hh:40
Definition: liegroup.hh:65
Definition: liegroup.hh:63
Definition: liegroup.hh:54
Definition: liegroup.hh:52
Definition: vector-space.hh:60