18 #ifndef __tsid_python_task_actuation_bounds_hpp__ 
   19 #define __tsid_python_task_actuation_bounds_hpp__ 
   30 namespace bp = boost::python;
 
   32 template <
typename Task>
 
   34     : 
public boost::python::def_visitor<
 
   35           TaskActuationBoundsPythonVisitor<Task> > {
 
   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", &Task::dim, 
"return dimension size")
 
   45                           bp::return_value_policy<bp::copy_const_reference>()),
 
   50              bp::args(
"lower", 
"upper"))
 
   52              bp::args(
"t", 
"q", 
"v", 
"data"))
 
   54         .add_property(
"getLowerBounds",
 
   57                           bp::return_value_policy<bp::copy_const_reference>()))
 
   58         .add_property(
"getUpperBounds",
 
   61                           bp::return_value_policy<bp::copy_const_reference>()))
 
   64   static std::string 
name(Task& 
self) {
 
   65     std::string 
name = 
self.name();
 
   69                                             const Eigen::VectorXd& q,
 
   70                                             const Eigen::VectorXd& v,
 
   72     self.compute(t, q, v, data);
 
   84   static const Eigen::VectorXd& 
getmask(
const Task& 
self) {
 
   87   static void setmask(Task& 
self, 
const Eigen::VectorXd mask) {
 
   88     return self.mask(mask);
 
   91     return self.getLowerBounds();
 
   94     return self.getUpperBounds();
 
   96   static void setBounds(Task& 
self, 
const Eigen::VectorXd lower,
 
   97                         const Eigen::VectorXd upper) {
 
   98     return self.setBounds(lower, upper);
 
  100   static void expose(
const std::string& class_name) {
 
  101     std::string doc = 
"Task info.";
 
  102     bp::class_<Task>(class_name.c_str(), doc.c_str(), bp::no_init)
 
Definition: constraint-inequality.hpp:26
 
Definition: constraint-bound.hpp:25
 
Definition: task-actuation-bounds.hpp:35
 
void visit(PyClass &cl) const
Definition: task-actuation-bounds.hpp:38
 
static const Eigen::VectorXd & getLowerBounds(const Task &self)
Definition: task-actuation-bounds.hpp:90
 
static const Eigen::VectorXd & getUpperBounds(const Task &self)
Definition: task-actuation-bounds.hpp:93
 
static const Eigen::VectorXd & getmask(const Task &self)
Definition: task-actuation-bounds.hpp:84
 
static void setBounds(Task &self, const Eigen::VectorXd lower, const Eigen::VectorXd upper)
Definition: task-actuation-bounds.hpp:96
 
static math::ConstraintInequality getConstraint(const Task &self)
Definition: task-actuation-bounds.hpp:78
 
static void setmask(Task &self, const Eigen::VectorXd mask)
Definition: task-actuation-bounds.hpp:87
 
static void expose(const std::string &class_name)
Definition: task-actuation-bounds.hpp:100
 
static math::ConstraintInequality compute(Task &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
Definition: task-actuation-bounds.hpp:68
 
static std::string name(Task &self)
Definition: task-actuation-bounds.hpp:64