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>
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 template <
typename Scalar,
int Options>
88 struct RnxSOnLieGroupMap::operation<
89 ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>> {
90 typedef liegroup::SpecialOrthogonalOperation<2>
type;
94 template <
typename Scalar,
int Options,
int Axis>
95 struct RnxSOnLieGroupMap::operation<
96 ::pinocchio::JointModelPrismaticTpl<Scalar, Options, Axis>> {
97 typedef liegroup::VectorSpaceOperation<1, false>
type;
99 template <
typename Scalar,
int Options>
100 struct RnxSOnLieGroupMap::operation<
101 ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options>> {
102 typedef liegroup::VectorSpaceOperation<1, false>
type;
104 template <
typename Scalar,
int Options>
105 struct RnxSOnLieGroupMap::operation<
106 ::pinocchio::JointModelTranslationTpl<Scalar, Options>> {
107 typedef liegroup::VectorSpaceOperation<3, false>
type;
111 template <
typename Scalar,
int Options>
112 struct RnxSOnLieGroupMap::operation<
113 ::pinocchio::JointModelSphericalTpl<Scalar, Options>> {
114 typedef liegroup::SpecialOrthogonalOperation<3>
type;
116 template <
typename Scalar,
int Options>
117 struct RnxSOnLieGroupMap::operation<
118 ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options>> {
119 typedef liegroup::VectorSpaceOperation<3, true>
type;
123 template <
typename Scalar,
int Options>
124 struct RnxSOnLieGroupMap::operation<
125 ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options>> {
126 typedef liegroup::CartesianProductOperation<
127 liegroup::VectorSpaceOperation<3, false>,
128 liegroup::SpecialOrthogonalOperation<3>>
131 template <
typename Scalar,
int Options>
132 struct RnxSOnLieGroupMap::operation<
133 ::pinocchio::JointModelPlanarTpl<Scalar, Options>> {
134 typedef liegroup::CartesianProductOperation<
135 liegroup::VectorSpaceOperation<2, false>,
136 liegroup::SpecialOrthogonalOperation<2>>
144 template <
typename Scalar,
int Options,
int Axis>
145 struct DefaultLieGroupMap::operation<
146 ::pinocchio::JointModelRevoluteTpl<Scalar, Options, Axis>> {
147 typedef liegroup::VectorSpaceOperation<1, true>
type;
149 template <
typename Scalar,
int Options,
int Axis>
150 struct DefaultLieGroupMap::operation<
151 ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, Axis>> {
152 typedef liegroup::SpecialOrthogonalOperation<2>
type;
154 template <
typename Scalar,
int Options>
155 struct DefaultLieGroupMap::operation<
156 ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options>> {
157 typedef liegroup::VectorSpaceOperation<1, true>
type;
159 template <
typename Scalar,
int Options>
160 struct DefaultLieGroupMap::operation<
161 ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>> {
162 typedef liegroup::SpecialOrthogonalOperation<2>
type;
166 template <
typename Scalar,
int Options,
int Axis>
167 struct DefaultLieGroupMap::operation<
168 ::pinocchio::JointModelPrismaticTpl<Scalar, Options, Axis>> {
169 typedef liegroup::VectorSpaceOperation<1, false>
type;
171 template <
typename Scalar,
int Options>
172 struct DefaultLieGroupMap::operation<
173 ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options>> {
174 typedef liegroup::VectorSpaceOperation<1, false>
type;
176 template <
typename Scalar,
int Options>
177 struct DefaultLieGroupMap::operation<
178 ::pinocchio::JointModelTranslationTpl<Scalar, Options>> {
179 typedef liegroup::VectorSpaceOperation<3, false>
type;
183 template <
typename Scalar,
int Options>
184 struct DefaultLieGroupMap::operation<
185 ::pinocchio::JointModelSphericalTpl<Scalar, Options>> {
186 typedef liegroup::SpecialOrthogonalOperation<3>
type;
188 template <
typename Scalar,
int Options>
189 struct DefaultLieGroupMap::operation<
190 ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options>> {
191 typedef liegroup::VectorSpaceOperation<3, true>
type;
195 template <
typename Scalar,
int Options>
196 struct DefaultLieGroupMap::operation<
197 ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options>> {
198 typedef liegroup::SpecialEuclideanOperation<3>
type;
200 template <
typename Scalar,
int Options>
201 struct 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