pinocchio
4.1.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Toggle main menu visibility
Loading...
Searching...
No Matches
joints-liegroup.hpp
1
//
2
// Copyright (c) 2015-2021 CNRS INRIA
3
//
4
5
#pragma once
6
7
#include <boost/python.hpp>
8
9
#include "pinocchio/bindings/python/fwd.hpp"
10
#include "pinocchio/multibody/joint.hpp"
11
#include "pinocchio/multibody/liegroup.hpp"
12
13
namespace
pinocchio
14
{
15
namespace
python
16
{
17
namespace
bp = boost::python;
18
19
template
<
class
Jo
int
ModelDerived>
20
struct
JointModelLieGroupPythonVisitor
21
:
public
boost::python::def_visitor<JointModelLieGroupPythonVisitor<JointModelDerived>>
22
{
23
public
:
24
typedef
25
typename
LieGroupMap::template operationProduct<context::Scalar, context::Options>::type
26
LieGroupOperation;
27
28
template
<
class
PyClass>
29
void
visit(PyClass & cl)
const
30
{
31
cl.def(
"lieGroup"
, &lieGroup);
32
}
33
34
static
LieGroupOperation lieGroup(
const
JointModelDerived & self)
35
{
36
return
LieGroupOperation(self.template lieGroup<LieGroupMap>());
37
}
38
};
39
40
template
<>
41
struct
JointModelLieGroupPythonVisitor
<context::JointModelComposite>
42
:
public
boost::python::def_visitor<
43
JointModelLieGroupPythonVisitor<context::JointModelComposite>>
44
{
45
public
:
46
typedef
context::JointModelComposite Self;
47
typedef
48
typename
LieGroupMap::template operationProduct<context::Scalar, context::Options>::type
49
LieGroupOperation;
50
51
template
<
class
PyClass>
52
void
visit(PyClass & cl)
const
53
{
54
cl.def(
"lieGroup"
, &lieGroup);
55
}
56
57
static
LieGroupOperation lieGroup(
const
Self & self)
58
{
59
return
self.template lieGroup<LieGroupMap>();
60
}
61
};
62
63
template
<>
64
struct
JointModelLieGroupPythonVisitor
<context::JointModel>
65
:
public
boost::python::def_visitor<JointModelLieGroupPythonVisitor<context::JointModel>>
66
{
67
public
:
68
typedef
context::JointModel Self;
69
typedef
70
typename
LieGroupMap::template operationProduct<context::Scalar, context::Options>::type
71
LieGroupOperation;
72
73
template
<
class
PyClass>
74
void
visit(PyClass & cl)
const
75
{
76
cl.def(
"lieGroup"
, &lieGroup);
77
}
78
79
static
LieGroupOperation lieGroup(
const
Self & self)
80
{
81
return
self.template lieGroup<LieGroupMap>();
82
}
83
};
84
85
template
<>
86
struct
JointModelLieGroupPythonVisitor
<context::JointModelMimic>
87
:
public
boost::python::def_visitor<JointModelLieGroupPythonVisitor<context::JointModelMimic>>
88
{
89
public
:
90
typedef
context::JointModelMimic Self;
91
typedef
92
typename
LieGroupMap::template operationProduct<context::Scalar, context::Options>::type
93
LieGroupOperation;
94
95
template
<
class
PyClass>
96
void
visit(PyClass & cl)
const
97
{
98
cl.def(
"lieGroup"
, &lieGroup);
99
}
100
101
static
LieGroupOperation lieGroup(
const
Self & self)
102
{
103
return
self.template lieGroup<LieGroupMap>();
104
}
105
};
106
107
}
// namespace python
108
}
// namespace pinocchio
pinocchio
Main pinocchio namespace.
Definition
treeview.dox:11
pinocchio::python::JointModelLieGroupPythonVisitor
Definition
joints-liegroup.hpp:22
include
pinocchio
bindings
python
multibody
joint
joints-liegroup.hpp
Generated by
1.17.0