18 #ifndef __tsid_python_task_cop_hpp__ 19 #define __tsid_python_task_cop_hpp__ 32 template <
typename TaskCOP>
34 :
public boost::python::def_visitor<
35 TaskCOPEqualityPythonVisitor<TaskCOP> > {
36 template <
class PyClass>
39 cl.def(bp::init<std::string, robots::RobotWrapper&>(
40 (bp::arg(
"name"), bp::arg(
"robot")),
"Default Constructor"))
41 .add_property(
"dim", &TaskCOP::dim,
"return dimension size")
44 .def(
"setContactNormal",
47 bp::args(
"t",
"q",
"v",
"data"))
51 static std::string
name(TaskCOP&
self) {
52 std::string
name =
self.name();
56 const Eigen::VectorXd&
q,
57 const Eigen::VectorXd&
v,
59 self.compute(t, q, v, data);
71 static void setReference(TaskCOP&
self,
const Eigen::Vector3d& ref) {
72 self.setReference(ref);
75 self.setContactNormal(n);
77 static void expose(
const std::string& class_name) {
78 std::string doc =
"TaskCOPEqualityPythonVisitor info.";
79 bp::class_<TaskCOP>(class_name.c_str(), doc.c_str(), bp::no_init)
86 #endif // ifndef __tsid_python_task_cop_hpp__
static std::string name(TaskCOP &self)
void def(const char *name, Func func)
static void expose(const std::string &class_name)
void visit(PyClass &cl) const
static void setContactNormal(TaskCOP &self, const Eigen::Vector3d &n)
static void setReference(TaskCOP &self, const Eigen::Vector3d &ref)
static math::ConstraintEquality compute(TaskCOP &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
static math::ConstraintEquality getConstraint(const TaskCOP &self)