18 #ifndef __tsid_python_task_com_hpp__ 
   19 #define __tsid_python_task_com_hpp__ 
   30 namespace bp = boost::python;
 
   32 template <
typename TaskCOM>
 
   34     : 
public boost::python::def_visitor<
 
   35           TaskCOMEqualityPythonVisitor<TaskCOM> > {
 
   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", &TaskCOM::dim, 
"return dimension size")
 
   44         .add_property(
"getDesiredAcceleration",
 
   47                           bp::return_value_policy<bp::copy_const_reference>()),
 
   51         .add_property(
"position_error",
 
   54                           bp::return_value_policy<bp::copy_const_reference>()))
 
   55         .add_property(
"velocity_error",
 
   58                           bp::return_value_policy<bp::copy_const_reference>()))
 
   59         .add_property(
"position",
 
   62                           bp::return_value_policy<bp::copy_const_reference>()))
 
   63         .add_property(
"velocity",
 
   66                           bp::return_value_policy<bp::copy_const_reference>()))
 
   67         .add_property(
"position_ref",
 
   70                           bp::return_value_policy<bp::copy_const_reference>()))
 
   71         .add_property(
"velocity_ref",
 
   74                           bp::return_value_policy<bp::copy_const_reference>()))
 
   78                           bp::return_value_policy<bp::copy_const_reference>()))
 
   82                           bp::return_value_policy<bp::copy_const_reference>()))
 
   86              bp::args(
"t", 
"q", 
"v", 
"data"))
 
   92                           bp::return_value_policy<bp::copy_const_reference>()),
 
   97   static std::string 
name(TaskCOM& 
self) {
 
   98     std::string 
name = 
self.name();
 
  102                                           const Eigen::VectorXd& q,
 
  103                                           const Eigen::VectorXd& v,
 
  105     self.compute(t, q, v, data);
 
  119     self.setReference(ref);
 
  122     return self.getDesiredAcceleration();
 
  125                                          const Eigen::VectorXd dv) {
 
  126     return self.getAcceleration(dv);
 
  129     return self.position_error();
 
  132     return self.velocity_error();
 
  134   static const Eigen::VectorXd& 
position(
const TaskCOM& 
self) {
 
  135     return self.position();
 
  137   static const Eigen::VectorXd& 
velocity(
const TaskCOM& 
self) {
 
  138     return self.velocity();
 
  141     return self.position_ref();
 
  144     return self.velocity_ref();
 
  146   static const Eigen::Vector3d& 
Kp(TaskCOM& 
self) { 
return self.Kp(); }
 
  147   static const Eigen::Vector3d& 
Kd(TaskCOM& 
self) { 
return self.Kd(); }
 
  148   static void setKp(TaskCOM& 
self, const ::Eigen::VectorXd 
Kp) {
 
  151   static void setKd(TaskCOM& 
self, const ::Eigen::VectorXd Kv) {
 
  154   static const Eigen::VectorXd& 
getmask(
const TaskCOM& 
self) {
 
  155     return self.getMask();
 
  157   static void setmask(TaskCOM& 
self, 
const Eigen::VectorXd mask) {
 
  158     return self.setMask(mask);
 
  160   static void expose(
const std::string& class_name) {
 
  161     std::string doc = 
"TaskCOMEqualityPythonVisitor info.";
 
  162     bp::class_<TaskCOM>(class_name.c_str(), doc.c_str(), bp::no_init)
 
  165     bp::register_ptr_to_python<boost::shared_ptr<math::ConstraintBase> >();
 
Definition: constraint-equality.hpp:26
 
Definition: trajectory-base.hpp:33
 
Definition: constraint-bound.hpp:25
 
Definition: task-com-equality.hpp:35
 
static const Eigen::VectorXd & velocity_ref(const TaskCOM &self)
Definition: task-com-equality.hpp:143
 
static const Eigen::VectorXd & velocity(const TaskCOM &self)
Definition: task-com-equality.hpp:137
 
static const Eigen::Vector3d & Kd(TaskCOM &self)
Definition: task-com-equality.hpp:147
 
static const Eigen::VectorXd & position_error(const TaskCOM &self)
Definition: task-com-equality.hpp:128
 
static std::string name(TaskCOM &self)
Definition: task-com-equality.hpp:97
 
static const Eigen::VectorXd & getDesiredAcceleration(const TaskCOM &self)
Definition: task-com-equality.hpp:121
 
static const Eigen::VectorXd & position(const TaskCOM &self)
Definition: task-com-equality.hpp:134
 
static const Eigen::Vector3d & Kp(TaskCOM &self)
Definition: task-com-equality.hpp:146
 
static const Eigen::VectorXd & getmask(const TaskCOM &self)
Definition: task-com-equality.hpp:154
 
static math::ConstraintEquality compute(TaskCOM &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
Definition: task-com-equality.hpp:101
 
static math::ConstraintEquality getConstraint(const TaskCOM &self)
Definition: task-com-equality.hpp:111
 
static const Eigen::VectorXd & position_ref(const TaskCOM &self)
Definition: task-com-equality.hpp:140
 
static void setKp(TaskCOM &self, const ::Eigen::VectorXd Kp)
Definition: task-com-equality.hpp:148
 
static const Eigen::VectorXd & velocity_error(const TaskCOM &self)
Definition: task-com-equality.hpp:131
 
static void setmask(TaskCOM &self, const Eigen::VectorXd mask)
Definition: task-com-equality.hpp:157
 
void visit(PyClass &cl) const
Definition: task-com-equality.hpp:38
 
static Eigen::VectorXd getAcceleration(TaskCOM &self, const Eigen::VectorXd dv)
Definition: task-com-equality.hpp:124
 
static void setReference(TaskCOM &self, const trajectories::TrajectorySample &ref)
Definition: task-com-equality.hpp:117
 
static void setKd(TaskCOM &self, const ::Eigen::VectorXd Kv)
Definition: task-com-equality.hpp:151
 
static void expose(const std::string &class_name)
Definition: task-com-equality.hpp:160