5#ifndef __pinocchio_python_joints_variant_hpp__
6#define __pinocchio_python_joints_variant_hpp__
8#include <boost/algorithm/string/replace.hpp>
10#include <boost/python.hpp>
12#include "pinocchio/multibody/joint/joint-collection.hpp"
13#include "pinocchio/bindings/python/multibody/joint/joints-models.hpp"
14#include "pinocchio/bindings/python/multibody/joint/joints-datas.hpp"
15#include "pinocchio/bindings/python/utils/printable.hpp"
21 namespace bp = boost::python;
24 std::string sanitizedClassname()
26 std::string className = boost::replace_all_copy(T::classname(),
"<",
"_");
27 boost::replace_all(className,
">",
"");
31 template<
typename VariantType>
32 struct JointVariantVisitor : boost::static_visitor<PyObject *>
34 static result_type convert(VariantType
const & jv)
36 return apply_visitor(JointVariantVisitor<VariantType>(), jv);
40 result_type operator()(T
const & t)
const
42 return boost::python::incref(boost::python::object(t).ptr());
56 bp::implicitly_convertible<T, context::JointData>();
70 bp::implicitly_convertible<T, context::JointModel>();
Main pinocchio namespace.