18 #ifndef __tsid_python_task_se3_hpp__ 
   19 #define __tsid_python_task_se3_hpp__ 
   30 namespace bp = boost::python;
 
   32 template <
typename TaskSE3>
 
   34     : 
public boost::python::def_visitor<
 
   35           TaskSE3EqualityPythonVisitor<TaskSE3> > {
 
   36   template <
class PyClass>
 
   39     cl.def(bp::init<std::string, robots::RobotWrapper&, std::string>(
 
   40                (bp::arg(
"name"), bp::arg(
"robot"), bp::arg(
"framename")),
 
   41                "Default Constructor"))
 
   42         .add_property(
"dim", &TaskSE3::dim, 
"return dimension size")
 
   45         .add_property(
"getDesiredAcceleration",
 
   48                           bp::return_value_policy<bp::copy_const_reference>()),
 
   52         .add_property(
"position_error",
 
   55                           bp::return_value_policy<bp::copy_const_reference>()))
 
   56         .add_property(
"velocity_error",
 
   59                           bp::return_value_policy<bp::copy_const_reference>()))
 
   60         .add_property(
"position",
 
   63                           bp::return_value_policy<bp::copy_const_reference>()))
 
   64         .add_property(
"velocity",
 
   67                           bp::return_value_policy<bp::copy_const_reference>()))
 
   68         .add_property(
"position_ref",
 
   71                           bp::return_value_policy<bp::copy_const_reference>()))
 
   72         .add_property(
"velocity_ref",
 
   75                           bp::return_value_policy<bp::copy_const_reference>()))
 
   79                           bp::return_value_policy<bp::copy_const_reference>()))
 
   83                           bp::return_value_policy<bp::copy_const_reference>()))
 
   87              bp::arg(
"local_frame"))
 
   91                           bp::return_value_policy<bp::copy_const_reference>()),
 
   95              bp::args(
"t", 
"q", 
"v", 
"data"))
 
   97         .add_property(
"frame_id", &TaskSE3::frame_id, 
"frame id return")
 
  100   static std::string 
name(TaskSE3& 
self) {
 
  101     std::string 
name = 
self.name();
 
  105                                           const Eigen::VectorXd& q,
 
  106                                           const Eigen::VectorXd& v,
 
  108     self.compute(t, q, v, data);
 
  121     self.setReference(ref);
 
  124     return self.getDesiredAcceleration();
 
  127                                          const Eigen::VectorXd dv) {
 
  128     return self.getAcceleration(dv);
 
  131     return self.position_error();
 
  134     return self.velocity_error();
 
  136   static const Eigen::VectorXd& 
position(
const TaskSE3& 
self) {
 
  137     return self.position();
 
  139   static const Eigen::VectorXd& 
velocity(
const TaskSE3& 
self) {
 
  140     return self.velocity();
 
  143     return self.position_ref();
 
  146     return self.velocity_ref();
 
  148   static const Eigen::VectorXd& 
Kp(TaskSE3& 
self) { 
return self.Kp(); }
 
  149   static const Eigen::VectorXd& 
Kd(TaskSE3& 
self) { 
return self.Kd(); }
 
  150   static void setKp(TaskSE3& 
self, const ::Eigen::VectorXd 
Kp) {
 
  153   static void setKd(TaskSE3& 
self, const ::Eigen::VectorXd Kv) {
 
  157     self.useLocalFrame(local_frame);
 
  159   static void getMask(TaskSE3& 
self) { 
self.getMask(); }
 
  160   static void setMask(TaskSE3& 
self, const ::Eigen::VectorXd mask) {
 
  163   static Eigen::VectorXd 
frame_id(TaskSE3& 
self) { 
return self.frame_id(); }
 
  164   static void expose(
const std::string& class_name) {
 
  165     std::string doc = 
"TaskSE3 info.";
 
  166     bp::class_<TaskSE3>(class_name.c_str(), doc.c_str(), bp::no_init)
 
Definition: constraint-equality.hpp:26
 
Definition: trajectory-base.hpp:33
 
Definition: constraint-bound.hpp:25
 
Definition: task-se3-equality.hpp:35
 
static void setReference(TaskSE3 &self, trajectories::TrajectorySample &ref)
Definition: task-se3-equality.hpp:120
 
static Eigen::VectorXd frame_id(TaskSE3 &self)
Definition: task-se3-equality.hpp:163
 
static const Eigen::VectorXd & position(const TaskSE3 &self)
Definition: task-se3-equality.hpp:136
 
static const Eigen::VectorXd & velocity_ref(const TaskSE3 &self)
Definition: task-se3-equality.hpp:145
 
static math::ConstraintEquality compute(TaskSE3 &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
Definition: task-se3-equality.hpp:104
 
static std::string name(TaskSE3 &self)
Definition: task-se3-equality.hpp:100
 
static void setKp(TaskSE3 &self, const ::Eigen::VectorXd Kp)
Definition: task-se3-equality.hpp:150
 
void visit(PyClass &cl) const
Definition: task-se3-equality.hpp:38
 
static Eigen::VectorXd getAcceleration(TaskSE3 &self, const Eigen::VectorXd dv)
Definition: task-se3-equality.hpp:126
 
static void useLocalFrame(TaskSE3 &self, const bool local_frame)
Definition: task-se3-equality.hpp:156
 
static void setMask(TaskSE3 &self, const ::Eigen::VectorXd mask)
Definition: task-se3-equality.hpp:160
 
static void expose(const std::string &class_name)
Definition: task-se3-equality.hpp:164
 
static const Eigen::VectorXd & getDesiredAcceleration(const TaskSE3 &self)
Definition: task-se3-equality.hpp:123
 
static const Eigen::VectorXd & position_ref(const TaskSE3 &self)
Definition: task-se3-equality.hpp:142
 
static const Eigen::VectorXd & velocity(const TaskSE3 &self)
Definition: task-se3-equality.hpp:139
 
static void getMask(TaskSE3 &self)
Definition: task-se3-equality.hpp:159
 
static const Eigen::VectorXd & Kp(TaskSE3 &self)
Definition: task-se3-equality.hpp:148
 
static void setKd(TaskSE3 &self, const ::Eigen::VectorXd Kv)
Definition: task-se3-equality.hpp:153
 
static const Eigen::VectorXd & Kd(TaskSE3 &self)
Definition: task-se3-equality.hpp:149
 
static const Eigen::VectorXd & position_error(const TaskSE3 &self)
Definition: task-se3-equality.hpp:130
 
static math::ConstraintEquality getConstraint(const TaskSE3 &self)
Definition: task-se3-equality.hpp:114
 
static const Eigen::VectorXd & velocity_error(const TaskSE3 &self)
Definition: task-se3-equality.hpp:133