18 #ifndef __tsid_python_task_joint_hpp__ 
   19 #define __tsid_python_task_joint_hpp__ 
   30 namespace bp = boost::python;
 
   32 template <
typename TaskJo
int>
 
   34     : 
public boost::python::def_visitor<
 
   35           TaskJointPosturePythonVisitor<TaskJoint> > {
 
   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", &TaskJoint::dim, 
"return dimension size")
 
   45             "getDesiredAcceleration",
 
   48                 bp::return_value_policy<bp::copy_const_reference>()),
 
   53                           bp::return_value_policy<bp::copy_const_reference>()),
 
   59         .add_property(
"position_error",
 
   62                           bp::return_value_policy<bp::copy_const_reference>()))
 
   63         .add_property(
"velocity_error",
 
   66                           bp::return_value_policy<bp::copy_const_reference>()))
 
   67         .add_property(
"position",
 
   70                           bp::return_value_policy<bp::copy_const_reference>()))
 
   71         .add_property(
"velocity",
 
   74                           bp::return_value_policy<bp::copy_const_reference>()))
 
   75         .add_property(
"position_ref",
 
   78                           bp::return_value_policy<bp::copy_const_reference>()))
 
   79         .add_property(
"velocity_ref",
 
   82                           bp::return_value_policy<bp::copy_const_reference>()))
 
   86                           bp::return_value_policy<bp::copy_const_reference>()))
 
   90                           bp::return_value_policy<bp::copy_const_reference>()))
 
   94              bp::args(
"t", 
"q", 
"v", 
"data"))
 
   98   static std::string 
name(TaskJoint& 
self) {
 
   99     std::string 
name = 
self.name();
 
  103                                           const Eigen::VectorXd& q,
 
  104                                           const Eigen::VectorXd& v,
 
  106     self.compute(t, q, v, data);
 
  120     self.setReference(ref);
 
  123     return self.getDesiredAcceleration();
 
  125   static const Eigen::VectorXd& 
getmask(
const TaskJoint& 
self) {
 
  126     return self.getMask();
 
  128   static void setmask(TaskJoint& 
self, 
const Eigen::VectorXd mask) {
 
  129     return self.setMask(mask);
 
  132                                          const Eigen::VectorXd dv) {
 
  133     return self.getAcceleration(dv);
 
  136     return self.position_error();
 
  139     return self.velocity_error();
 
  141   static const Eigen::VectorXd& 
position(
const TaskJoint& 
self) {
 
  142     return self.position();
 
  144   static const Eigen::VectorXd& 
velocity(
const TaskJoint& 
self) {
 
  145     return self.velocity();
 
  148     return self.position_ref();
 
  151     return self.velocity_ref();
 
  153   static const Eigen::VectorXd& 
Kp(TaskJoint& 
self) { 
return self.Kp(); }
 
  154   static const Eigen::VectorXd& 
Kd(TaskJoint& 
self) { 
return self.Kd(); }
 
  155   static void setKp(TaskJoint& 
self, const ::Eigen::VectorXd 
Kp) {
 
  158   static void setKd(TaskJoint& 
self, const ::Eigen::VectorXd Kv) {
 
  161   static void expose(
const std::string& class_name) {
 
  162     std::string doc = 
"TaskJoint info.";
 
  163     bp::class_<TaskJoint>(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-joint-posture.hpp:35
 
static Eigen::VectorXd getAcceleration(TaskJoint &self, const Eigen::VectorXd dv)
Definition: task-joint-posture.hpp:131
 
static const Eigen::VectorXd & getDesiredAcceleration(const TaskJoint &self)
Definition: task-joint-posture.hpp:122
 
static void setReference(TaskJoint &self, const trajectories::TrajectorySample &ref)
Definition: task-joint-posture.hpp:118
 
static const Eigen::VectorXd & Kp(TaskJoint &self)
Definition: task-joint-posture.hpp:153
 
static const Eigen::VectorXd & position(const TaskJoint &self)
Definition: task-joint-posture.hpp:141
 
static void setKp(TaskJoint &self, const ::Eigen::VectorXd Kp)
Definition: task-joint-posture.hpp:155
 
static math::ConstraintEquality compute(TaskJoint &self, const double t, const Eigen::VectorXd &q, const Eigen::VectorXd &v, pinocchio::Data &data)
Definition: task-joint-posture.hpp:102
 
static void expose(const std::string &class_name)
Definition: task-joint-posture.hpp:161
 
static void setmask(TaskJoint &self, const Eigen::VectorXd mask)
Definition: task-joint-posture.hpp:128
 
static const Eigen::VectorXd & velocity_ref(const TaskJoint &self)
Definition: task-joint-posture.hpp:150
 
static void setKd(TaskJoint &self, const ::Eigen::VectorXd Kv)
Definition: task-joint-posture.hpp:158
 
static const Eigen::VectorXd & Kd(TaskJoint &self)
Definition: task-joint-posture.hpp:154
 
static const Eigen::VectorXd & getmask(const TaskJoint &self)
Definition: task-joint-posture.hpp:125
 
static math::ConstraintEquality getConstraint(const TaskJoint &self)
Definition: task-joint-posture.hpp:112
 
static const Eigen::VectorXd & velocity_error(const TaskJoint &self)
Definition: task-joint-posture.hpp:138
 
static const Eigen::VectorXd & position_error(const TaskJoint &self)
Definition: task-joint-posture.hpp:135
 
static const Eigen::VectorXd & position_ref(const TaskJoint &self)
Definition: task-joint-posture.hpp:147
 
static std::string name(TaskJoint &self)
Definition: task-joint-posture.hpp:98
 
static const Eigen::VectorXd & velocity(const TaskJoint &self)
Definition: task-joint-posture.hpp:144
 
void visit(PyClass &cl) const
Definition: task-joint-posture.hpp:38