IKMantis.h
Go to the documentation of this file.00001
00002 #ifndef INCLUDED_IKMantis_h_
00003 #define INCLUDED_IKMantis_h_
00004
00005 #include "Motion/IKSolver.h"
00006
00007 #if defined(TGT_IS_MANTIS) && defined(TGT_HAS_HEAD)
00008
00009
00010
00011 class IKMantis : public IKSolver {
00012 public:
00013
00014
00015 IKMantis();
00016
00017 using IKSolver::solve;
00018 using IKSolver::step;
00019 virtual bool solve(const Point& pEff, const Rotation& oriEff, KinematicJoint& j, const Position& pTgt, float posPri, const Orientation& oriTgt, float oriPri) const;
00020 virtual StepResult_t step(const Point& pEff, const Rotation& oriEff, KinematicJoint& j, const Position& pTgt, float pDist, float posPri, const Orientation& oriTgt, float oriDist, float oriPri) const;
00021
00022 protected:
00023 virtual bool solveHead(KinematicJoint& j, const Position& pTgt) const;
00024 virtual bool solvePosLeg(KinematicJoint& j, const Position& pTgt) const;
00025 virtual bool solveFrontLeg(KinematicJoint& j, const Position& pTgt) const;
00026 private:
00027
00028 static const std::string autoRegisterIKMantis;
00029
00030
00031
00032 };
00033 #endif
00034 #endif
00035