31#ifndef HPP_MANIPULATION_HANDLE_HH 32#define HPP_MANIPULATION_HANDLE_HH 34#include <hpp/manipulation/config.hh> 36#include <pinocchio/spatial/se3.hpp> 58class HPP_MANIPULATION_DLLAPI
Handle {
71 const DeviceWkPtr_t&
robot,
85 const std::string&
name()
const {
return name_; }
87 void name(
const std::string& n) { name_ = n; }
114 const std::vector<bool>&
mask()
const {
return mask_; }
120 const std::vector<bool>&
maskComp()
const {
return maskComp_; }
131 std::string
name)
const;
140 std::string
name)
const;
147 std::string
name)
const;
159 std::string
name)
const;
176 return approachingDirection_;
182 approachingDirection_ = dir;
195 localPosition_(pose),
202 approachingDirection_(1, 0, 0) {}
203 void init(HandleWkPtr_t weakPtr) { weakPtr_ = weakPtr; }
205 virtual std::ostream&
print(std::ostream& os)
const;
214 DeviceWkPtr_t robot_;
218 std::vector<bool> mask_;
220 std::vector<bool> maskComp_;
222 HandleWkPtr_t weakPtr_;
void maskComp(const std::vector< bool > &mask)
Set mask of complement constraint.
void clearance(const value_type &clearance)
Definition handle.hh:171
virtual ~Handle()
Definition handle.hh:61
static std::string className
Definition handle.hh:60
const std::vector< bool > & maskComp() const
Get mask of complement constraint.
Definition handle.hh:120
friend std::ostream & operator<<(std::ostream &, const Handle &)
virtual ImplicitPtr_t createGrasp(const GripperPtr_t &gripper, std::string name) const
void joint(const JointPtr_t &joint)
Set joint to which the handle is linked.
Definition handle.hh:96
const std::vector< bool > & mask() const
Definition handle.hh:114
Handle(const std::string &name, const Transform3s &pose, const DeviceWkPtr_t &robot, const JointPtr_t &joint)
Definition handle.hh:192
const Transform3s & localPosition() const
Get local position in joint frame.
Definition handle.hh:102
virtual ImplicitPtr_t createPreGrasp(const GripperPtr_t &gripper, const value_type &shift, std::string name) const
void init(HandleWkPtr_t weakPtr)
Definition handle.hh:203
const JointPtr_t & joint() const
Get joint to which the handle is linked.
Definition handle.hh:94
value_type clearance() const
Definition handle.hh:167
const vector3_t & approachingDirection() const
Definition handle.hh:175
virtual HandlePtr_t clone() const
Return a pointer to the copy of this.
void approachingDirection(const vector3_t &dir)
Definition handle.hh:181
virtual ImplicitPtr_t createGraspComplement(const GripperPtr_t &gripper, std::string name) const
const std::string & name() const
Get name.
Definition handle.hh:85
virtual ImplicitPtr_t createGraspAndComplement(const GripperPtr_t &gripper, std::string name) const
void name(const std::string &n)
Set name.
Definition handle.hh:87
static HandlePtr_t create(const std::string &name, const Transform3s &pose, const DeviceWkPtr_t &robot, const JointPtr_t &joint)
Definition handle.hh:70
void mask(const std::vector< bool > &mask)
Set constraint mask.
void localPosition(const Transform3s &localPosition)
Set local position in joint frame.
Definition handle.hh:105
DevicePtr_t robot() const
Definition handle.hh:98
virtual std::ostream & print(std::ostream &os) const
shared_ptr< Implicit > ImplicitPtr_t
Definition connected-component.hh:39
pinocchio::JointPtr_t JointPtr_t
Definition fwd.hh:43
core::vector3_t vector3_t
Definition fwd.hh:151
pinocchio::GripperPtr_t GripperPtr_t
Definition fwd.hh:51
core::Transform3s Transform3s
Definition fwd.hh:91
core::value_type value_type
Definition fwd.hh:89
shared_ptr< Device > DevicePtr_t
Definition fwd.hh:40
shared_ptr< Handle > HandlePtr_t
Definition fwd.hh:58
std::ostream & operator<<(std::ostream &os, const Handle &handle)