22 typedef ::pinocchio::visualizers::BaseVisualizer Base;
24 std::is_base_of_v<Base, Visualizer>,
25 "Visualizer class must be derived from pinocchio::visualizers::BaseVisualizer.");
27 static void setCameraPose_proxy(Visualizer & vis,
const Base::Matrix4 & pose)
29 vis.setCameraPose(pose);
32 static void setCameraPose_proxy2(Visualizer & vis,
const SE3 & pose)
34 vis.setCameraPose(pose);
37 static void play_proxy(
38 Visualizer & vis,
const std::vector<visualizers::VectorXs> & qs, context::Scalar dt)
40 std::vector<visualizers::ConstVectorRef> qs_;
41 qs_.reserve(qs.size());
42 for (
size_t i = 0; i < qs.size(); i++)
44 qs_.emplace_back(qs[i]);
50 play_proxy2(Visualizer & vis,
const visualizers::ConstMatrixRef & qs, context::Scalar dt)
55 template<
class... PyArgs>
56 void visit(bp::class_<PyArgs...> & cl)
const 58 using ::pinocchio::visualizers::ConstVectorRef;
59 eigenpy::OptionalConverter<ConstVectorRef, boost::optional>::registration();
62#define DEF_PROP_PROXY(name) \ 66 +[](Visualizer & v) -> auto & { return v.name(); }, bp::return_internal_reference<>())) 68 cl.def(
"initViewer", &Visualizer::initViewer, bp::arg(
"self"))
69 .def(
"loadViewerModel", &Visualizer::loadViewerModel, bp::arg(
"self"))
70 .def(
"rebuildData", &Visualizer::rebuildData, bp::arg(
"self"))
73 +[](Visualizer & v,
const boost::optional<ConstVectorRef> & q) { v.display(q); },
74 (bp::arg(
"self"), bp::arg(
"q") = boost::none))
75 .def(
"play", play_proxy, (bp::arg(
"self"),
"qs",
"dt"))
76 .def(
"play", play_proxy2, (bp::arg(
"self"),
"qs",
"dt"))
77 .def(
"setCameraTarget", &Visualizer::setCameraTarget, (bp::arg(
"self"),
"target"))
78 .def(
"setCameraPosition", &Visualizer::setCameraPosition, (bp::arg(
"self"),
"position"))
79 .def(
"setCameraPose", setCameraPose_proxy, (bp::arg(
"self"),
"pose"))
80 .def(
"setCameraPose", setCameraPose_proxy2, (bp::arg(
"self"),
"pose"))
81 .def(
"setCameraZoom", &Visualizer::setCameraZoom, (bp::arg(
"self"),
"value"))
82 .def(
"clean", &Visualizer::clean, bp::arg(
"self"))
83 .def(
"hasExternalData", &Visualizer::hasExternalData, bp::arg(
"self"))
84 .DEF_PROP_PROXY(model)
85 .DEF_PROP_PROXY(visualModel)
86 .DEF_PROP_PROXY(collisionModel)
88 .DEF_PROP_PROXY(visualData)
89 .DEF_PROP_PROXY(collisionData);