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