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