7#include <boost/python.hpp> 8#include <eigenpy/exception.hpp> 9#include <eigenpy/eigen-to-python.hpp> 11#include "pinocchio/constraints.hpp" 12#include "pinocchio/bindings/python/fwd.hpp" 13#include "pinocchio/bindings/python/utils/macros.hpp" 19 namespace bp = boost::python;
25 template<
class T,
class =
void>
33 :
public bp::def_visitor<ConstraintDataInheritancePythonVisitor<T>>
36 template<
class PyClass>
37 void visit(PyClass & cl)
const 47 inline constexpr bool inherit_binarykinematic_data_v =
48 std::is_base_of_v<PointConstraintDataBase<T>, T>
49 || std::is_base_of_v<FrameConstraintDataBase<T>, T>;
51 template<
class T,
class>
53 :
public bp::def_visitor<BinaryKinematicsConstraintDataBasePythonVisitor<T>>
56 template<
class PyClass>
57 void visit(PyClass & )
const 65 std::enable_if_t<inherit_binarykinematic_data_v<T>>>
66 :
public bp::def_visitor<BinaryKinematicsConstraintDataBasePythonVisitor<T>>
69 template<
class PyClass>
70 void visit(PyClass & cl)
const 72 cl.def(bp::init<>(bp::arg(
"self"),
"Default constructor."))
74 bp::init<const typename T::ConstraintModel &>(
75 bp::args(
"self",
"constraint_model"),
"From model constructor."))
76 .PINOCCHIO_ADD_PROPERTY(T, constraint_force,
"Resulting force.")
77 .PINOCCHIO_ADD_PROPERTY(T, oMc1,
"Placement of the constraint frame 1 wrt WORLD.")
78 .PINOCCHIO_ADD_PROPERTY(T, oMc2,
"Placement of the constraint frame 2 wrt WORLD.")
79 .PINOCCHIO_ADD_PROPERTY(T, c1Mc2,
"Placement of the constraint frame 2 wrt frame 1.")
80 .PINOCCHIO_ADD_PROPERTY(T, constraint_position_error,
"Constraint position error.")
81 .PINOCCHIO_ADD_PROPERTY(T, constraint_velocity_error,
"Constraint velocity error.")
82 .PINOCCHIO_ADD_PROPERTY(
83 T, constraint_acceleration_error,
"Constraint acceleration error.")
84 .PINOCCHIO_ADD_PROPERTY(
85 T, constraint_acceleration_biais_term,
"Constraint acceleration term.")
86 .PINOCCHIO_ADD_PROPERTY(T, A1_world,
"Transform for joint1 in world frame.")
87 .PINOCCHIO_ADD_PROPERTY(T, A2_world,
"Transform for joint2 in world frame.")
88 .PINOCCHIO_ADD_PROPERTY(
89 T, A_world,
"Relative Transform between joint1 and joint2 in world frame.")
90 .PINOCCHIO_ADD_PROPERTY(T, A1_local,
"Transform for joint1 in local frame.")
91 .PINOCCHIO_ADD_PROPERTY(T, A2_local,
"Transform for joint2 in local frame.")
92 .PINOCCHIO_ADD_PROPERTY(
93 T, A_local,
"Relative Transform between joint1 and joint2 in local frame.");
Main pinocchio namespace.