pinocchio
UNKNOWN
liegroup.hpp
1
//
2
// Copyright (c) 2016-2018 CNRS
3
//
4
// This file is part of Pinocchio
5
// Pinocchio is free software: you can redistribute it
6
// and/or modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation, either version
8
// 3 of the License, or (at your option) any later version.
9
//
10
// Pinocchio is distributed in the hope that it will be
11
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
// General Lesser Public License for more details. You should have
14
// received a copy of the GNU Lesser General Public License along with
15
// Pinocchio If not, see
16
// <http://www.gnu.org/licenses/>.
17
18
#ifndef __se3_lie_group_hpp__
19
#define __se3_lie_group_hpp__
20
21
#include "pinocchio/assert.hpp"
22
#include "pinocchio/multibody/liegroup/vector-space.hpp"
23
#include "pinocchio/multibody/liegroup/cartesian-product.hpp"
24
#include "pinocchio/multibody/liegroup/special-orthogonal.hpp"
25
#include "pinocchio/multibody/liegroup/special-euclidean.hpp"
26
27
#include "pinocchio/multibody/joint/fwd.hpp"
28
29
namespace
se3
{
30
struct
LieGroupMap
{
31
template
<
typename
Jo
int
Model>
struct
operation
{
32
typedef
VectorSpaceOperation<JointModel::NQ>
type
;
33
};
34
};
35
template
<
typename
Jo
int
Model>
36
struct
LieGroup
{
37
typedef
typename
LieGroupMap::operation<JointModel>::type
type
;
38
};
39
40
template
<>
struct
LieGroupMap::operation
<
JointModelComposite
> {};
41
template
<>
struct
LieGroupMap::operation
<
JointModelSpherical
> {
42
typedef
SpecialOrthogonalOperation<3>
type
;
43
};
44
template
<>
struct
LieGroupMap::operation
<
JointModelFreeFlyer
> {
45
typedef
SpecialEuclideanOperation<3>
type
;
46
};
47
template
<>
struct
LieGroupMap::operation
<
JointModelPlanar
> {
48
typedef
SpecialEuclideanOperation<2>
type
;
49
};
50
template
<
typename
Scalar,
int
Options,
int
axis>
51
struct
LieGroupMap::operation
<
JointModelRevoluteUnboundedTpl
<Scalar,Options,axis> > {
52
typedef
SpecialOrthogonalOperation<2>
type
;
53
};
54
}
55
56
#endif // ifndef __se3_lie_group_hpp__
se3::VectorSpaceOperation
Definition:
vector-space.hpp:29
se3
Definition:
aba-derivatives.hpp:24
se3::LieGroup
Definition:
liegroup.hpp:36
se3::JointModelSphericalTpl
Definition:
multibody/joint/fwd.hpp:37
se3::JointModelFreeFlyerTpl
Definition:
multibody/joint/fwd.hpp:58
se3::JointModelComposite
Definition:
joint-composite.hpp:110
se3::JointModelPlanarTpl
Definition:
multibody/joint/fwd.hpp:64
se3::LieGroupMap
Definition:
liegroup.hpp:30
se3::SpecialOrthogonalOperation< 2 >
Definition:
special-orthogonal.hpp:49
se3::LieGroupMap::operation
Definition:
liegroup.hpp:31
se3::SpecialOrthogonalOperation< 3 >
Definition:
special-orthogonal.hpp:236
se3::JointModelRevoluteUnboundedTpl
Definition:
multibody/joint/fwd.hpp:34
se3::SpecialEuclideanOperation< 3 >
SE(3)
Definition:
special-euclidean.hpp:319
se3::SpecialEuclideanOperation< 2 >
Definition:
special-euclidean.hpp:47
src
multibody
liegroup
liegroup.hpp
Generated on Wed Sep 19 2018 10:08:28 for pinocchio by
1.8.11