visualizer-visitor.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2024-2025 INRIA
3 //
4 #ifndef __pinocchio_python_extra_extras_hpp__
5 #define __pinocchio_python_extra_extras_hpp__
6 
9 
10 #include <eigenpy/optional.hpp>
11 
12 namespace pinocchio
13 {
14  namespace python
15  {
16  namespace bp = boost::python;
17 
18  template<class Visualizer>
19  struct VisualizerPythonVisitor : bp::def_visitor<VisualizerPythonVisitor<Visualizer>>
20  {
21  typedef ::pinocchio::visualizers::BaseVisualizer Base;
23  static_assert(std::is_base_of_v<Base, Visualizer>);
24 
25  static void setCameraPose_proxy(Visualizer & vis, const Base::Matrix4 & pose)
26  {
27  vis.setCameraPose(pose);
28  }
29 
30  static void setCameraPose_proxy2(Visualizer & vis, const SE3 & pose)
31  {
32  vis.setCameraPose(pose);
33  }
34 
35  static void play_proxy2(Visualizer & vis, const ConstMatrixRef & qs, context::Scalar dt)
36  {
37  vis.play(qs, dt);
38  }
39 
40  template<class... PyArgs>
41  void visit(bp::class_<PyArgs...> & cl) const
42  {
45 
46  cl.def("initViewer", &Visualizer::initViewer)
47  .def("loadViewerModel", &Visualizer::loadViewerModel)
48  .def("rebuildData", &Visualizer::rebuildData)
49  .def(
50  "display", +[](Visualizer & v, const ConstVectorRef & q) { v.display(q); },
51  (bp::arg("self"), bp::arg("q") = boost::none))
52  .def("play", play_proxy2, (bp::arg("self"), "qs", "dt"))
53  .def("setCameraTarget", &Visualizer::setCameraTarget, (bp::arg("self"), "target"))
54  .def("setCameraPosition", &Visualizer::setCameraPosition, (bp::arg("self"), "position"))
55  .def("setCameraPose", setCameraPose_proxy, (bp::arg("self"), "pose"))
56  .def("setCameraPose", setCameraPose_proxy2, (bp::arg("self"), "pose"))
57  .def("setCameraZoom", &Visualizer::setCameraZoom, (bp::arg("self"), "value"))
58  .def("clean", &Visualizer::clean, bp::arg("self"))
59  .add_property(
60  "model", bp::make_function(&Visualizer::model, bp::return_internal_reference<>()))
61  .add_property(
62  "visualModel",
63  bp::make_function(&Visualizer::visualModel, bp::return_internal_reference<>()))
64  .add_property(
65  "collisionModel",
66  bp::make_function(&Visualizer::collisionModel, bp::return_internal_reference<>()))
67  .def("hasExternalData", &Visualizer::hasExternalData)
68  .add_property(
69  "data", +[](Visualizer & v) { return std::ref(v.data()); })
70  .add_property(
71  "visualData", +[](Visualizer & v) { return std::ref(v.visualData()); })
72  .add_property(
73  "collisionData", +[](Visualizer & v) { return std::ref(v.collisionData()); });
74  }
75  };
76 
77  } // namespace python
78 } // namespace pinocchio
79 
80 #endif // #ifndef __pinocchio_python_extra_extras_hpp__
optional.hpp
pinocchio::python::VisualizerPythonVisitor::Base
::pinocchio::visualizers::BaseVisualizer Base
Definition: visualizer-visitor.hpp:21
boost::python
pinocchio::python::VisualizerPythonVisitor::setCameraPose_proxy
static void setCameraPose_proxy(Visualizer &vis, const Base::Matrix4 &pose)
Definition: visualizer-visitor.hpp:25
base-visualizer.hpp
pinocchio::visualizers::ConstMatrixRef
Eigen::Ref< const MatrixXs > ConstMatrixRef
Definition: base-visualizer.hpp:24
pinocchio::SE3
context::SE3 SE3
Definition: spatial/fwd.hpp:59
pinocchio::python::VisualizerPythonVisitor::setCameraPose_proxy2
static void setCameraPose_proxy2(Visualizer &vis, const SE3 &pose)
Definition: visualizer-visitor.hpp:30
anymal-simulation.model
model
Definition: anymal-simulation.py:8
pinocchio::visualizers::BaseVisualizer::Matrix4
SE3::Matrix4 Matrix4
Definition: base-visualizer.hpp:37
pinocchio::python::VisualizerPythonVisitor::ConstMatrixRef
::pinocchio::visualizers::ConstMatrixRef ConstMatrixRef
Definition: visualizer-visitor.hpp:22
pinocchio::python::VisualizerPythonVisitor
Definition: visualizer-visitor.hpp:19
python
pinocchio::python::v
const Vector3Like & v
Definition: bindings/python/spatial/explog.hpp:66
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1083
pinocchio::python::VisualizerPythonVisitor::visit
void visit(bp::class_< PyArgs... > &cl) const
Definition: visualizer-visitor.hpp:41
eigenpy::OptionalConverter::registration
static void registration()
cl
cl
fwd.hpp
pinocchio::python::VisualizerPythonVisitor::play_proxy2
static void play_proxy2(Visualizer &vis, const ConstMatrixRef &qs, context::Scalar dt)
Definition: visualizer-visitor.hpp:35
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:128
pinocchio::visualizers::ConstVectorRef
Eigen::Ref< const VectorXs > ConstVectorRef
Definition: base-visualizer.hpp:23
cartpole.dt
float dt
Definition: cartpole.py:145
pinocchio::python::context::Scalar
PINOCCHIO_PYTHON_SCALAR_TYPE Scalar
Definition: bindings/python/context/generic.hpp:37
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:33


pinocchio
Author(s):
autogenerated on Thu Apr 10 2025 02:42:22