include
pinocchio
bindings
python
utils
copyable.hpp
Go to the documentation of this file.
1
//
2
// Copyright (c) 2016-2023 CNRS INRIA
3
//
4
5
#ifndef __pinocchio_python_utils_copyable_hpp__
6
#define __pinocchio_python_utils_copyable_hpp__
7
8
#include <
eigenpy/eigenpy.hpp
>
9
10
namespace
pinocchio
11
{
12
namespace
python
13
{
14
15
namespace
bp
=
boost::python
;
16
20
template
<
class
C>
21
struct
CopyableVisitor
:
public
bp::def_visitor<CopyableVisitor<C>>
22
{
23
template
<
class
PyClass>
24
void
visit
(PyClass & cl)
const
25
{
26
cl
.def(
"copy"
, &
copy
, bp::arg(
"self"
),
"Returns a copy of *this."
);
27
cl
.def(
"__copy__"
, &
copy
, bp::arg(
"self"
),
"Returns a copy of *this."
);
28
cl
.def(
29
"__deepcopy__"
, &
deepcopy
, bp::args(
"self"
,
"memo"
),
"Returns a deep copy of *this."
);
30
}
31
32
private
:
33
static
C
copy
(
const
C
&
self
)
34
{
35
return
C
(
self
);
36
}
37
static
C
deepcopy
(
const
C
&
self
, bp::dict)
38
{
39
return
C
(
self
);
40
}
41
};
42
}
// namespace python
43
}
// namespace pinocchio
44
45
#endif // ifndef __pinocchio_python_utils_copyable_hpp__
boost::python
eigenpy.hpp
pinocchio::python::CopyableVisitor::deepcopy
static C deepcopy(const C &self, bp::dict)
Definition:
copyable.hpp:37
dcrba.C
C
Definition:
dcrba.py:491
python
pinocchio::python::CopyableVisitor
Add the Python method copy to allow a copy of this by calling the copy constructor.
Definition:
copyable.hpp:21
pinocchio::python::CopyableVisitor::copy
static C copy(const C &self)
Definition:
copyable.hpp:33
cl
cl
pinocchio
Main pinocchio namespace.
Definition:
timings.cpp:27
pinocchio::python::CopyableVisitor::visit
void visit(PyClass &cl) const
Definition:
copyable.hpp:24
pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:08