00001 00026 #ifndef GOAL_POSE_H 00027 #define GOAL_POSE_H 00028 00029 #include "constrained_ik/constraint.h" 00030 #include "constrained_ik/constraint_group.h" 00031 #include "constrained_ik/constraints/goal_position.h" 00032 #include "constrained_ik/constraints/goal_orientation.h" 00033 00034 namespace constrained_ik 00035 { 00036 namespace constraints 00037 { 00038 00044 class GoalPose : public ConstraintGroup 00045 { 00046 public: 00047 EIGEN_MAKE_ALIGNED_OPERATOR_NEW 00048 GoalPose() : ConstraintGroup(), position_(new GoalPosition()), orientation_(new GoalOrientation()) 00049 { 00050 this->add(position_); 00051 this->add(orientation_); 00052 } 00057 void setWeightOrientation(const Eigen::Vector3d &weight_orientation) {orientation_->setWeight(weight_orientation);} 00058 00063 void setWeightPosition(const Eigen::Vector3d &weight_position) {position_->setWeight(weight_position);} 00064 protected: 00065 GoalPosition* position_; 00066 GoalOrientation* orientation_; 00068 }; // class GoalPose 00069 00070 } // namespace constraints 00071 } // namespace constrained_ik 00072 00073 00074 #endif // GOAL_POSE_H 00075