Skip to content

Commit ca41f22

Browse files
ManifoldFRjorisv
authored andcommitted
bindings/python/visualizers : expose overload for play()
1 parent 0fccb6d commit ca41f22

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

include/pinocchio/bindings/python/visualizers/visualizer-visitor.hpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "pinocchio/bindings/python/fwd.hpp"
99

1010
#include <eigenpy/optional.hpp>
11+
#include <eigenpy/std-vector.hpp>
1112

1213
namespace pinocchio
1314
{
@@ -19,7 +20,6 @@ namespace pinocchio
1920
struct VisualizerPythonVisitor : bp::def_visitor<VisualizerPythonVisitor<Visualizer>>
2021
{
2122
typedef ::pinocchio::visualizers::BaseVisualizer Base;
22-
typedef ::pinocchio::visualizers::ConstMatrixRef ConstMatrixRef;
2323
static_assert(
2424
std::is_base_of<Base, Visualizer>::value,
2525
"Visualizer class must be derived from pinocchio::visualizers::BaseVisualizer.");
@@ -34,7 +34,19 @@ namespace pinocchio
3434
vis.setCameraPose(pose);
3535
}
3636

37-
static void play_proxy2(Visualizer & vis, const ConstMatrixRef & qs, context::Scalar dt)
37+
static void play_proxy(
38+
Visualizer & vis, const std::vector<visualizers::VectorXs> & qs, context::Scalar dt)
39+
{
40+
std::vector<visualizers::ConstVectorRef> qs_;
41+
for (size_t i = 0; i < qs.size(); i++)
42+
{
43+
qs_.emplace_back(qs[i]);
44+
}
45+
vis.play(qs_, dt);
46+
}
47+
48+
static void
49+
play_proxy2(Visualizer & vis, const visualizers::ConstMatrixRef & qs, context::Scalar dt)
3850
{
3951
vis.play(qs, dt);
4052
}
@@ -58,6 +70,7 @@ namespace pinocchio
5870
.def(
5971
"display", +[](Visualizer & v, const ConstVectorRef & q) { v.display(q); },
6072
(bp::arg("self"), bp::arg("q") = boost::none))
73+
.def("play", play_proxy, (bp::arg("self"), "qs", "dt"))
6174
.def("play", play_proxy2, (bp::arg("self"), "qs", "dt"))
6275
.def("setCameraTarget", &Visualizer::setCameraTarget, (bp::arg("self"), "target"))
6376
.def("setCameraPosition", &Visualizer::setCameraPosition, (bp::arg("self"), "position"))

0 commit comments

Comments
 (0)