00001 00026 #ifndef GOAL_TOOL_POSITION_H 00027 #define GOAL_TOOL_POSITION_H 00028 00029 #include "constrained_ik/constraint.h" 00030 #include "constrained_ik/constraints/goal_position.h" 00031 00032 namespace constrained_ik 00033 { 00034 namespace constraints 00035 { 00044 class ToolPosition : public GoalPosition 00045 { 00046 public: 00047 EIGEN_MAKE_ALIGNED_OPERATOR_NEW 00048 ToolPosition(); 00049 00050 constrained_ik::ConstraintResults evalConstraint(const SolverState &state) const override; 00051 00059 Eigen::MatrixXd calcJacobian(const GoalPositionData &cdata) const override; 00060 00068 Eigen::VectorXd calcError(const GoalPositionData &cdata) const override; 00069 00070 }; // class ToolPosition 00071 00072 } // namespace constraints 00073 } // namespace constrained_ik 00074 00075 00076 #endif // GOAL_TOOL_ORIENTATION_H 00077