Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stack Of Tasks
dynamic-graph-python
Commits
5ddf9cbb
Unverified
Commit
5ddf9cbb
authored
Sep 15, 2021
by
Guilhem Saurel
Committed by
GitHub
Sep 15, 2021
Browse files
Merge pull request #82 from nim65s/devel
format: clang-format-12
parents
8889710b
bad2e760
Pipeline
#16066
passed with stage
in 4 minutes and 44 seconds
Changes
22
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
include/dynamic-graph/python/convert-dg-to-py.hh
View file @
5ddf9cbb
// Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS.
#include
<boost/python.hpp>
#include
<dynamic-graph/linear-algebra.h>
#include
<dynamic-graph/value.h>
#include
<boost/python.hpp>
namespace
dynamicgraph
{
namespace
python
{
namespace
convert
{
...
...
include/dynamic-graph/python/dynamic-graph-py.hh
View file @
5ddf9cbb
#ifndef DYNAMIC_GRAPH_PY
#define DYNAMIC_GRAPH_PY
#include
<iostream>
#include
<sstream>
#include
<boost/python.hpp>
#include
<boost/python/stl_iterator.hpp>
#include
<dynamic-graph/debug.h>
#include
<dynamic-graph/exception-factory.h>
#include
<dynamic-graph/signal-base.h>
#include
<boost/python.hpp>
#include
<boost/python/stl_iterator.hpp>
#include
<iostream>
#include
<sstream>
#include
"dynamic-graph/python/signal-wrapper.hh"
namespace
bp
=
boost
::
python
;
...
...
include/dynamic-graph/python/fwd.hh
View file @
5ddf9cbb
...
...
@@ -15,7 +15,7 @@ namespace dynamicgraph {
namespace
python
{
class
Interpreter
;
typedef
shared_ptr
<
Interpreter
>
InterpreterPtr_t
;
}
// namespace python
}
// namespace dynamicgraph
}
// namespace python
}
// namespace dynamicgraph
#endif // DYNAMIC_GRAPH_PYTHON_FWD_HH
#endif
// DYNAMIC_GRAPH_PYTHON_FWD_HH
include/dynamic-graph/python/interpreter.hh
View file @
5ddf9cbb
...
...
@@ -7,10 +7,9 @@
#undef _POSIX_C_SOURCE
#undef _XOPEN_SOURCE
#include
<dynamic-graph/python/fwd.hh>
#include
"dynamic-graph/python/api.hh"
#include
"dynamic-graph/python/python-compat.hh"
#include
"dynamic-graph/python/api.hh"
#include
"dynamic-graph/python/python-compat.hh"
namespace
dynamicgraph
{
namespace
python
{
...
...
include/dynamic-graph/python/module.hh
View file @
5ddf9cbb
...
...
@@ -6,11 +6,11 @@
#include
<pinocchio/fwd.hpp>
#endif
#include
<boost/python.hpp>
#include
<dynamic-graph/entity.h>
#include
<boost/mpl/for_each.hpp>
#include
<boost/mpl/vector.hpp>
#include
<dynamic-graph/entity.h>
#include
<boost/python.hpp>
#include
<dynamic-graph/python/dynamic-graph-py.hh>
namespace
dynamicgraph
{
...
...
include/dynamic-graph/python/signal-wrapper.hh
View file @
5ddf9cbb
...
...
@@ -4,12 +4,13 @@
#ifndef DGPY_SIGNAL_WRAPPER
#define DGPY_SIGNAL_WRAPPER
#include
<boost/python.hpp>
#include
<boost/bind.hpp>
#include
<dynamic-graph/entity.h>
#include
<dynamic-graph/linear-algebra.h>
#include
<dynamic-graph/signal.h>
#include
<dynamic-graph/entity.h>
#include
<boost/bind.hpp>
#include
<boost/python.hpp>
#include
"dynamic-graph/python/python-compat.hh"
namespace
dynamicgraph
{
...
...
include/dynamic-graph/python/signal.hh
View file @
5ddf9cbb
// Copyright 2020, Joseph Mirabel, LAAS-CNRS.
#include
<sstream>
#include
<boost/python.hpp>
#include
<dynamic-graph/signal-base.h>
#include
<dynamic-graph/signal-ptr.h>
#include
<dynamic-graph/signal-time-dependent.h>
#include
<dynamic-graph/signal.h>
#include
<boost/python.hpp>
#include
<sstream>
#include
"dynamic-graph/python/signal-wrapper.hh"
namespace
dynamicgraph
{
...
...
src/dynamic_graph/convert-dg-to-py.cc
View file @
5ddf9cbb
// Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS.
#include
<iostream>
#include
<sstream>
#include
<boost/python.hpp>
#include
<boost/python/stl_iterator.hpp>
#include
"dynamic-graph/python/convert-dg-to-py.hh"
#include
<dynamic-graph/signal-base.h>
#include
<dynamic-graph/signal.h>
#include
<dynamic-graph/signal-caster.h>
#include
<dynamic-graph/signal.h>
#include
<boost/python.hpp>
#include
<boost/python/stl_iterator.hpp>
#include
<iostream>
#include
<sstream>
#include
"dynamic-graph/python/convert-dg-to-py.hh"
#include
"dynamic-graph/python/python-compat.hh"
namespace
dynamicgraph
{
...
...
src/dynamic_graph/debug-py.cc
View file @
5ddf9cbb
...
...
@@ -5,14 +5,14 @@
#include
<iostream>
#define ENABLE_RT_LOG
#include
<dynamic-graph/entity.h>
#include
<dynamic-graph/pool.h>
#include
<dynamic-graph/real-time-logger.h>
#include
<boost/shared_ptr.hpp>
#include
<map>
#include
<dynamic-graph/pool.h>
#include
<dynamic-graph/entity.h>
#include
<vector>
#include
<boost/shared_ptr.hpp>
#include
"dynamic-graph/python/dynamic-graph-py.hh"
typedef
boost
::
shared_ptr
<
std
::
ofstream
>
ofstreamShrPtr
;
...
...
src/dynamic_graph/dynamic-graph-py.cc
View file @
5ddf9cbb
// Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS.
#include
<iostream>
#include
<sstream>
#include
<boost/python.hpp>
#include
<boost/python/raw_function.hpp>
#include
<boost/python/suite/indexing/map_indexing_suite.hpp>
#include
<eigenpy/eigenpy.hpp>
#include
<Eigen/Geometry>
#include
<eigenpy/geometry.hpp>
#include
"dynamic-graph/python/dynamic-graph-py.hh"
#include
<dynamic-graph/command.h>
#include
<dynamic-graph/debug.h>
#include
<dynamic-graph/exception-factory.h>
#include
<dynamic-graph/signal-base.h>
#include
<dynamic-graph/signal.h>
#include
<dynamic-graph/signal-time-dependent.h>
#include
<dynamic-graph/entity.h>
#include
<dynamic-graph/
command
.h>
#include
<dynamic-graph/
exception-factory
.h>
#include
<dynamic-graph/factory.h>
#include
<dynamic-graph/pool.h>
#include
<dynamic-graph/signal-base.h>
#include
<dynamic-graph/signal-time-dependent.h>
#include
<dynamic-graph/signal.h>
#include
<dynamic-graph/tracer.h>
#include
"dynamic-graph/python/dynamic-graph-py.hh"
#include
"dynamic-graph/python/signal-wrapper.hh"
#include
<Eigen/Geometry>
#include
<boost/python.hpp>
#include
<boost/python/raw_function.hpp>
#include
<boost/python/suite/indexing/map_indexing_suite.hpp>
#include
<eigenpy/eigenpy.hpp>
#include
<eigenpy/geometry.hpp>
#include
<iostream>
#include
<sstream>
#include
"dynamic-graph/python/convert-dg-to-py.hh"
#include
"dynamic-graph/python/module.hh"
#include
"dynamic-graph/python/signal-wrapper.hh"
namespace
dynamicgraph
{
namespace
python
{
...
...
@@ -106,35 +104,38 @@ void exposeEntityBase() {
.
add_property
(
"streamPrintPeriod"
,
&
Entity
::
getStreamPrintPeriod
,
&
Entity
::
setStreamPrintPeriod
,
"set the period at which debugging information are printed"
)
.
def
(
"__str__"
,
+
[](
const
Entity
&
e
)
->
std
::
string
{
std
::
ostringstream
os
;
e
.
display
(
os
);
return
os
.
str
();
})
.
def
(
"signals"
,
+
[](
const
Entity
&
e
)
->
bp
::
list
{
bp
::
list
ret
;
for
(
auto
&
el
:
e
.
getSignalMap
())
ret
.
append
(
bp
::
ptr
(
el
.
second
));
return
ret
;
},
"Return the list of signals."
)
.
def
(
"__str__"
,
+
[](
const
Entity
&
e
)
->
std
::
string
{
std
::
ostringstream
os
;
e
.
display
(
os
);
return
os
.
str
();
})
.
def
(
"signals"
,
+
[](
const
Entity
&
e
)
->
bp
::
list
{
bp
::
list
ret
;
for
(
auto
&
el
:
e
.
getSignalMap
())
ret
.
append
(
bp
::
ptr
(
el
.
second
));
return
ret
;
},
"Return the list of signals."
)
//.def("signal", +[](Entity& e, const std::string &name) { return &e.getSignal(name); },
// reference_existing_object())
.
def
(
"signal"
,
&
getSignal
,
reference_existing_object
(),
"get signal by name from an Entity"
,
bp
::
arg
(
"name"
))
.
def
(
"hasSignal"
,
&
Entity
::
hasSignal
,
"return True if the entity has a signal with the given name"
)
.
def
(
"displaySignals"
,
+
[](
const
Entity
&
e
)
{
Entity
::
SignalMap
signals
(
e
.
getSignalMap
());
std
::
cout
<<
"--- <"
<<
e
.
getName
();
if
(
signals
.
empty
())
std
::
cout
<<
"> has no signal
\n
"
;
else
std
::
cout
<<
"> signal list:
\n
"
;
for
(
const
auto
&
el
:
signals
)
el
.
second
->
display
(
std
::
cout
<<
" |-- <"
)
<<
'\n'
;
},
"Print the list of signals into standard output: temporary."
)
.
def
(
"displaySignals"
,
+
[](
const
Entity
&
e
)
{
Entity
::
SignalMap
signals
(
e
.
getSignalMap
());
std
::
cout
<<
"--- <"
<<
e
.
getName
();
if
(
signals
.
empty
())
std
::
cout
<<
"> has no signal
\n
"
;
else
std
::
cout
<<
"> signal list:
\n
"
;
for
(
const
auto
&
el
:
signals
)
el
.
second
->
display
(
std
::
cout
<<
" |-- <"
)
<<
'\n'
;
},
"Print the list of signals into standard output: temporary."
)
/*
.def("__getattr__", +[](Entity& e, const std::string &name) -> SignalBase<int>* { return &e.getSignal(name); },
...
...
@@ -240,22 +241,26 @@ BOOST_PYTHON_MODULE(wrap) {
typedef
dg
::
PoolStorage
::
Entities
MapOfEntities
;
bp
::
class_
<
MapOfEntities
>
(
"MapOfEntities"
)
.
def
(
"__len__"
,
&
MapOfEntities
::
size
)
.
def
(
"keys"
,
+
[](
const
MapOfEntities
&
m
)
->
bp
::
tuple
{
bp
::
list
res
;
for
(
const
auto
&
el
:
m
)
res
.
append
(
el
.
first
);
return
bp
::
tuple
(
res
);
})
.
def
(
"values"
,
+
[](
const
MapOfEntities
&
m
)
->
bp
::
tuple
{
bp
::
list
res
;
for
(
const
auto
&
el
:
m
)
res
.
append
(
bp
::
ptr
(
el
.
second
));
return
bp
::
tuple
(
res
);
})
.
def
(
"keys"
,
+
[](
const
MapOfEntities
&
m
)
->
bp
::
tuple
{
bp
::
list
res
;
for
(
const
auto
&
el
:
m
)
res
.
append
(
el
.
first
);
return
bp
::
tuple
(
res
);
})
.
def
(
"values"
,
+
[](
const
MapOfEntities
&
m
)
->
bp
::
tuple
{
bp
::
list
res
;
for
(
const
auto
&
el
:
m
)
res
.
append
(
bp
::
ptr
(
el
.
second
));
return
bp
::
tuple
(
res
);
})
.
def
(
"__getitem__"
,
static_cast
<
dg
::
Entity
*&
(
MapOfEntities
::*
)(
const
std
::
string
&
k
)
>
(
&
MapOfEntities
::
at
),
reference_existing_object
())
.
def
(
"__setitem__"
,
+
[](
MapOfEntities
&
m
,
const
std
::
string
&
n
,
dg
::
Entity
*
e
)
{
m
.
emplace
(
n
,
e
);
})
.
def
(
"__setitem__"
,
+
[](
MapOfEntities
&
m
,
const
std
::
string
&
n
,
dg
::
Entity
*
e
)
{
m
.
emplace
(
n
,
e
);
})
.
def
(
"__iter__"
,
bp
::
iterator
<
MapOfEntities
>
())
.
def
(
"__contains__"
,
+
[](
const
MapOfEntities
&
m
,
const
std
::
string
&
n
)
->
bool
{
return
m
.
count
(
n
);
});
.
def
(
"__contains__"
,
+
[](
const
MapOfEntities
&
m
,
const
std
::
string
&
n
)
->
bool
{
return
m
.
count
(
n
);
});
bp
::
to_python_converter
<
MapOfEntities
::
value_type
,
MapOfEntitiesPairToPythonConverter
>
();
}
src/dynamic_graph/entity-py.cc
View file @
5ddf9cbb
// Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS.
#include
<iostream>
#include
<dynamic-graph/command.h>
#include
<dynamic-graph/entity.h>
#include
<dynamic-graph/factory.h>
#include
<dynamic-graph/command.h>
#include
<dynamic-graph/linear-algebra.h>
#include
<dynamic-graph/pool.h>
#include
<dynamic-graph/value.h>
#include
<iostream>
#include
"dynamic-graph/python/convert-dg-to-py.hh"
#include
"dynamic-graph/python/dynamic-graph-py.hh"
...
...
src/dynamic_graph/factory-py.cc
View file @
5ddf9cbb
// Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS.
#include
<iostream>
#include
<dynamic-graph/factory.h>
#include
<iostream>
#include
"dynamic-graph/python/dynamic-graph-py.hh"
using
dynamicgraph
::
Entity
;
...
...
src/dynamic_graph/pool-py.cc
View file @
5ddf9cbb
// Copyright 2011, 2012, Florent Lamiraux, LAAS-CNRS.
#include
<dynamic-graph/pool.h>
#include
<dynamic-graph/entity.h>
#include
<dynamic-graph/pool.h>
#include
<vector>
#include
"dynamic-graph/python/dynamic-graph-py.hh"
...
...
src/dynamic_graph/signal-base-py.cc
View file @
5ddf9cbb
// Copyright 2010, Florent Lamiraux, Thomas Moulard, LAAS-CNRS.
#include
<iostream>
#include
<sstream>
#include
<boost/python.hpp>
#include
"dynamic-graph/python/signal.hh"
#include
<dynamic-graph/linear-algebra.h>
#include
<dynamic-graph/signal-base.h>
#include
<dynamic-graph/signal.h>
#include
<dynamic-graph/signal-ptr.h>
#include
<dynamic-graph/signal-time-dependent.h>
#include
<dynamic-graph/
linear-algebra
.h>
#include
<dynamic-graph/
signal
.h>
#include
<dynamic-graph/value.h>
#include
<boost/python.hpp>
#include
<iostream>
#include
<sstream>
#include
"dynamic-graph/python/dynamic-graph-py.hh"
#include
"dynamic-graph/python/signal-wrapper.hh"
#include
"dynamic-graph/python/signal.hh"
using
dynamicgraph
::
SignalBase
;
...
...
@@ -48,12 +46,13 @@ void exposeSignalBase(const char* name) {
.
add_property
(
"name"
,
bp
::
make_function
(
&
S_t
::
getName
,
bp
::
return_value_policy
<
bp
::
copy_const_reference
>
()))
.
def
(
"getName"
,
&
S_t
::
getName
,
bp
::
return_value_policy
<
bp
::
copy_const_reference
>
())
.
def
(
"getClassName"
,
+
[](
const
S_t
&
s
)
->
std
::
string
{
std
::
string
ret
;
s
.
getClassName
(
ret
);
return
ret
;
})
.
def
(
"getClassName"
,
+
[](
const
S_t
&
s
)
->
std
::
string
{
std
::
string
ret
;
s
.
getClassName
(
ret
);
return
ret
;
})
.
def
(
"plug"
,
&
S_t
::
plug
,
"Plug the signal to another signal"
)
.
def
(
"unplug"
,
&
S_t
::
unplug
,
"Unplug the signal"
)
...
...
@@ -63,32 +62,35 @@ void exposeSignalBase(const char* name) {
.
def
(
"recompute"
,
&
S_t
::
recompute
,
"Recompute the signal at given time"
)
.
def
(
"__str__"
,
+
[](
const
S_t
&
s
)
->
std
::
string
{
std
::
ostringstream
oss
;
s
.
display
(
oss
);
return
oss
.
str
();
})
.
def
(
"displayDependencies"
,
+
[](
const
S_t
&
s
,
int
time
)
->
std
::
string
{
std
::
ostringstream
oss
;
s
.
displayDependencies
(
oss
,
time
);
return
oss
.
str
();
},
"Print the signal dependencies in a string"
);
.
def
(
"__str__"
,
+
[](
const
S_t
&
s
)
->
std
::
string
{
std
::
ostringstream
oss
;
s
.
display
(
oss
);
return
oss
.
str
();
})
.
def
(
"displayDependencies"
,
+
[](
const
S_t
&
s
,
int
time
)
->
std
::
string
{
std
::
ostringstream
oss
;
s
.
displayDependencies
(
oss
,
time
);
return
oss
.
str
();
},
"Print the signal dependencies in a string"
);
}
template
<
>
auto
exposeSignal
<
MatrixHomogeneous
,
time_type
>
(
const
std
::
string
&
name
)
{
typedef
Signal
<
MatrixHomogeneous
,
time_type
>
S_t
;
bp
::
class_
<
S_t
,
bp
::
bases
<
SignalBase
<
time_type
>
>
,
boost
::
noncopyable
>
obj
(
name
.
c_str
(),
bp
::
init
<
std
::
string
>
());
obj
.
add_property
(
"value"
,
+
[](
const
S_t
&
signal
)
->
Matrix4
{
return
signal
.
accessCopy
().
matrix
();
},
+
[](
S_t
&
signal
,
const
Matrix4
&
v
)
{
// TODO it isn't hard to support pinocchio::SE3 type here.
// However, this adds a dependency to pinocchio.
signal
.
setConstant
(
MatrixHomogeneous
(
v
));
},
"the signal value."
);
obj
.
add_property
(
"value"
,
+
[](
const
S_t
&
signal
)
->
Matrix4
{
return
signal
.
accessCopy
().
matrix
();
},
+
[](
S_t
&
signal
,
const
Matrix4
&
v
)
{
// TODO it isn't hard to support pinocchio::SE3 type here.
// However, this adds a dependency to pinocchio.
signal
.
setConstant
(
MatrixHomogeneous
(
v
));
},
"the signal value."
);
return
obj
;
}
...
...
src/dynamic_graph/signal-wrapper.cc
View file @
5ddf9cbb
// Copyright (c) 2018, Joseph Mirabel
// Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
#include
<dynamic-graph/factory.h>
#include
<dynamic-graph/command-bind.h>
#include
"dynamic-graph/python/signal-wrapper.hh"
#include
<dynamic-graph/command-bind.h>
#include
<dynamic-graph/factory.h>
namespace
dynamicgraph
{
namespace
python
{
void
PythonSignalContainer
::
signalRegistration
(
const
SignalArray
<
int
>&
signals
)
{
...
...
src/dynamic_graph/tracer/wrap.cc
View file @
5ddf9cbb
#include
"dynamic-graph/python/module.hh"
#include
<dynamic-graph/tracer.h>
#include
"dynamic-graph/python/module.hh"
BOOST_PYTHON_MODULE
(
wrap
)
{
using
dynamicgraph
::
Tracer
;
...
...
src/dynamic_graph/tracer_real_time/wrap.cc
View file @
5ddf9cbb
#include
"dynamic-graph/python/module.hh"
#include
<dynamic-graph/tracer-real-time.h>
#include
"dynamic-graph/python/module.hh"
BOOST_PYTHON_MODULE
(
wrap
)
{
using
dynamicgraph
::
Tracer
;
using
dynamicgraph
::
TracerRealTime
;
...
...
src/interpreter.cc
View file @
5ddf9cbb
...
...
@@ -8,6 +8,7 @@
#endif
#include
<iostream>
#include
"dynamic-graph/debug.h"
#include
"dynamic-graph/python/interpreter.hh"
...
...
tests/custom_entity.cpp
View file @
5ddf9cbb
...
...
@@ -6,7 +6,6 @@
#define ENABLE_RT_LOG
#include
"custom_entity.h"
#include
<boost/bind.hpp>
#include
<dynamic-graph/command-bind.h>
#include
<dynamic-graph/entity.h>
...
...
@@ -17,6 +16,8 @@
#include
<dynamic-graph/signal-ptr.h>
#include
<dynamic-graph/signal-time-dependent.h>
#include
<boost/bind.hpp>
namespace
dynamicgraph
{
CustomEntity
::
CustomEntity
(
const
std
::
string
n
)
...
...
tests/custom_entity.h
View file @
5ddf9cbb
...
...
@@ -5,11 +5,12 @@
#define ENABLE_RT_LOG
#include
<sstream>
#include
<dynamic-graph/entity.h>
#include
<dynamic-graph/signal-ptr.h>
#include
<dynamic-graph/signal-time-dependent.h>
#include
<sstream>
namespace
dynamicgraph
{
class
CustomEntity
:
public
Entity
{
public:
...
...
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment