Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef KDL_CHAIN_FKSOLVER_HPP
00023 #define KDL_CHAIN_FKSOLVER_HPP
00024
00025 #include "chain.hpp"
00026 #include "framevel.hpp"
00027 #include "frameacc.hpp"
00028 #include "jntarray.hpp"
00029 #include "jntarrayvel.hpp"
00030 #include "jntarrayacc.hpp"
00031 #include "solveri.hpp"
00032
00033 namespace KDL {
00040
00041 class ChainFkSolverPos : public KDL::SolverI {
00042 public:
00052 virtual int JntToCart(const JntArray& q_in, Frame& p_out,int segmentNr=-1)=0;
00062 virtual int JntToCart(const JntArray& q_in, std::vector<KDL::Frame>& p_out,int segmentNr=-1)=0;
00063
00064 virtual void updateInternalDataStructures()=0;
00065 virtual ~ChainFkSolverPos(){};
00066 };
00067
00074 class ChainFkSolverVel : public KDL::SolverI {
00075 public:
00085 virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
00095 virtual int JntToCart(const JntArrayVel& q_in, std::vector<KDL::FrameVel>& out,int segmentNr=-1)=0;
00096
00097 virtual void updateInternalDataStructures()=0;
00098 virtual ~ChainFkSolverVel(){};
00099 };
00100
00108 class ChainFkSolverAcc : public KDL::SolverI {
00109 public:
00121 virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
00133 virtual int JntToCart(const JntArrayAcc& q_in, std::vector<FrameAcc>& out,int segmentNr=-1)=0;
00134
00135 virtual void updateInternalDataStructures()=0;
00136 virtual ~ChainFkSolverAcc()=0;
00137 };
00138
00139
00140 }
00141
00142 #endif