pinocchio
2.4.4
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
liegroup.hpp
1
//
2
// Copyright (c) 2016-2019 CNRS INRIA
3
//
4
5
#ifndef __pinocchio_lie_group_hpp__
6
#define __pinocchio_lie_group_hpp__
7
8
#include "pinocchio/multibody/liegroup/vector-space.hpp"
9
#include "pinocchio/multibody/liegroup/cartesian-product.hpp"
10
#include "pinocchio/multibody/liegroup/special-orthogonal.hpp"
11
#include "pinocchio/multibody/liegroup/special-euclidean.hpp"
12
13
#include "pinocchio/multibody/joint/fwd.hpp"
14
15
namespace
pinocchio
16
{
17
struct
LieGroupMap
18
{
19
template
<
typename
Jo
int
Model>
20
struct
operation
21
{
22
typedef
VectorSpaceOperationTpl<JointModel::NQ,typename JointModel::Scalar, JointModel::Options>
type
;
23
};
24
};
25
26
template
<
typename
Jo
int
Model>
27
struct
LieGroup
28
{
29
typedef
typename
LieGroupMap::operation<JointModel>::type
type
;
30
};
31
32
template
<
typename
Scalar,
int
Options,
template
<
typename
S,
int
O>
class
JointCollectionTpl>
33
struct
LieGroupMap::operation
<
JointModelCompositeTpl
<Scalar,Options,JointCollectionTpl> >
34
{};
35
36
template
<
typename
Scalar,
int
Options>
37
struct
LieGroupMap::operation
<
JointModelSphericalTpl
<Scalar,Options> >
38
{
39
typedef
SpecialOrthogonalOperationTpl<3,Scalar,Options>
type
;
40
};
41
42
template
<
typename
Scalar,
int
Options>
43
struct
LieGroupMap::operation
<
JointModelFreeFlyerTpl
<Scalar,Options> >
44
{
45
typedef
SpecialEuclideanOperationTpl<3,Scalar,Options>
type
;
46
};
47
48
template
<
typename
Scalar,
int
Options>
49
struct
LieGroupMap::operation
<
JointModelPlanarTpl
<Scalar,Options> >
50
{
51
typedef
SpecialEuclideanOperationTpl<2,Scalar,Options>
type
;
52
};
53
54
template
<
typename
Scalar,
int
Options,
int
axis>
55
struct
LieGroupMap::operation
<
JointModelRevoluteUnboundedTpl
<Scalar,Options,axis> >
56
{
57
typedef
SpecialOrthogonalOperationTpl<2,Scalar,Options>
type
;
58
};
59
60
template
<
typename
Scalar,
int
Options>
61
struct
LieGroupMap::operation
<
JointModelRevoluteUnboundedUnalignedTpl
<Scalar,Options> >
62
{
63
typedef
SpecialOrthogonalOperationTpl<2,Scalar,Options>
type
;
64
};
65
66
}
67
68
#endif // ifndef __pinocchio_lie_group_hpp__
pinocchio::JointModelRevoluteUnboundedUnalignedTpl
Definition:
fwd.hpp:34
pinocchio::JointModelPlanarTpl
Definition:
fwd.hpp:69
pinocchio::SpecialEuclideanOperationTpl
Definition:
special-euclidean.hpp:24
pinocchio::JointModelRevoluteUnboundedTpl
Definition:
fwd.hpp:39
pinocchio::LieGroup
Definition:
liegroup.hpp:27
pinocchio::LieGroupMap::operation
Definition:
liegroup.hpp:20
pinocchio::VectorSpaceOperationTpl
Definition:
vector-space.hpp:15
pinocchio::JointModelFreeFlyerTpl
Definition:
fwd.hpp:63
pinocchio::SpecialOrthogonalOperationTpl
Definition:
special-orthogonal.hpp:18
pinocchio::JointModelSphericalTpl
Definition:
fwd.hpp:42
pinocchio
Main pinocchio namespace.
Definition:
treeview.dox:24
pinocchio::LieGroupMap
Definition:
liegroup.hpp:17
pinocchio::JointModelCompositeTpl
Definition:
fwd.hpp:85
src
multibody
liegroup
liegroup.hpp
Generated by
1.8.13