29#ifndef HPP_PINOCCHIO_LIEGROUP_HH
30#define HPP_PINOCCHIO_LIEGROUP_HH
37#include <pinocchio/multibody/joint/joints.hpp>
49 template <
typename Jo
intModel>
62 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;
87template <
typename Scalar,
int Options>
88struct RnxSOnLieGroupMap::operation<
89 ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>> {
90 typedef liegroup::SpecialOrthogonalOperation<2>
type;
94template <
typename Scalar,
int Options,
int Axis>
95struct RnxSOnLieGroupMap::operation<
96 ::pinocchio::JointModelPrismaticTpl<Scalar, Options, Axis>> {
97 typedef liegroup::VectorSpaceOperation<1, false>
type;
99template <
typename Scalar,
int Options>
100struct RnxSOnLieGroupMap::operation<
101 ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options>> {
102 typedef liegroup::VectorSpaceOperation<1, false>
type;
104template <
typename Scalar,
int Options>
105struct RnxSOnLieGroupMap::operation<
106 ::pinocchio::JointModelTranslationTpl<Scalar, Options>> {
107 typedef liegroup::VectorSpaceOperation<3, false>
type;
111template <
typename Scalar,
int Options>
112struct RnxSOnLieGroupMap::operation<
113 ::pinocchio::JointModelSphericalTpl<Scalar, Options>> {
114 typedef liegroup::SpecialOrthogonalOperation<3>
type;
116template <
typename Scalar,
int Options>
117struct RnxSOnLieGroupMap::operation<
118 ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options>> {
119 typedef liegroup::VectorSpaceOperation<3, true>
type;
123template <
typename Scalar,
int Options>
124struct RnxSOnLieGroupMap::operation<
125 ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options>> {
126 typedef liegroup::CartesianProductOperation<
127 liegroup::VectorSpaceOperation<3, false>,
128 liegroup::SpecialOrthogonalOperation<3>>
131template <
typename Scalar,
int Options>
132struct RnxSOnLieGroupMap::operation<
133 ::pinocchio::JointModelPlanarTpl<Scalar, Options>> {
134 typedef liegroup::CartesianProductOperation<
135 liegroup::VectorSpaceOperation<2, false>,
136 liegroup::SpecialOrthogonalOperation<2>>
144template <
typename Scalar,
int Options,
int Axis>
145struct DefaultLieGroupMap::operation<
146 ::pinocchio::JointModelRevoluteTpl<Scalar, Options, Axis>> {
147 typedef liegroup::VectorSpaceOperation<1, true>
type;
149template <
typename Scalar,
int Options,
int Axis>
150struct DefaultLieGroupMap::operation<
151 ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, Axis>> {
152 typedef liegroup::SpecialOrthogonalOperation<2>
type;
154template <
typename Scalar,
int Options>
155struct DefaultLieGroupMap::operation<
156 ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options>> {
157 typedef liegroup::VectorSpaceOperation<1, true>
type;
159template <
typename Scalar,
int Options>
160struct DefaultLieGroupMap::operation<
161 ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>> {
162 typedef liegroup::SpecialOrthogonalOperation<2>
type;
166template <
typename Scalar,
int Options,
int Axis>
167struct DefaultLieGroupMap::operation<
168 ::pinocchio::JointModelPrismaticTpl<Scalar, Options, Axis>> {
169 typedef liegroup::VectorSpaceOperation<1, false>
type;
171template <
typename Scalar,
int Options>
172struct DefaultLieGroupMap::operation<
173 ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options>> {
174 typedef liegroup::VectorSpaceOperation<1, false>
type;
176template <
typename Scalar,
int Options>
177struct DefaultLieGroupMap::operation<
178 ::pinocchio::JointModelTranslationTpl<Scalar, Options>> {
179 typedef liegroup::VectorSpaceOperation<3, false>
type;
183template <
typename Scalar,
int Options>
184struct DefaultLieGroupMap::operation<
185 ::pinocchio::JointModelSphericalTpl<Scalar, Options>> {
186 typedef liegroup::SpecialOrthogonalOperation<3>
type;
188template <
typename Scalar,
int Options>
189struct DefaultLieGroupMap::operation<
190 ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options>> {
191 typedef liegroup::VectorSpaceOperation<3, true>
type;
195template <
typename Scalar,
int Options>
196struct DefaultLieGroupMap::operation<
197 ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options>> {
198 typedef liegroup::SpecialEuclideanOperation<3>
type;
200template <
typename Scalar,
int Options>
201struct DefaultLieGroupMap::operation<
202 ::pinocchio::JointModelPlanarTpl<Scalar, Options>> {
203 typedef liegroup::SpecialEuclideanOperation<2>
type;
Definition: collision-object.hh:40
Definition: liegroup.hh:63
liegroup::VectorSpaceOperation< Eigen::Dynamic, false > type
Definition: liegroup.hh:64
Definition: liegroup.hh:61
Definition: liegroup.hh:50
liegroup::VectorSpaceOperation< Eigen::Dynamic, false > type
Definition: liegroup.hh:51
Definition: liegroup.hh:48
Definition: vector-space.hh:60