doxygen: intern/itasc tagged
[blender.git] / intern / itasc / kdl / treefksolver.hpp
1 // Copyright  (C)  2007  Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
2 // Copyright  (C)  2008  Julia Jesse
3
4 // Version: 1.0
5 // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
6 // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
7 // URL: http://www.orocos.org/kdl
8
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the GNU Lesser General Public
11 // License as published by the Free Software Foundation; either
12 // version 2.1 of the License, or (at your option) any later version.
13
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 // Lesser General Public License for more details.
18
19 // You should have received a copy of the GNU Lesser General Public
20 // License along with this library; if not, write to the Free Software
21 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
22
23 #ifndef KDL_TREE_FKSOLVER_HPP
24 #define KDL_TREE_FKSOLVER_HPP
25
26 #include <string>
27
28 #include "tree.hpp"
29 //#include "framevel.hpp"
30 //#include "frameacc.hpp"
31 #include "jntarray.hpp"
32 //#include "jntarrayvel.hpp"
33 //#include "jntarrayacc.hpp"
34
35 namespace KDL {
36
37     /**
38           * \brief This <strong>abstract</strong> class encapsulates a
39           * solver for the forward position kinematics for a KDL::Tree.
40      *
41      * @ingroup KinematicFamily
42      */
43
44     //Forward definition
45     class TreeFkSolverPos {
46     public:
47         /**
48          * Calculate forward position kinematics for a KDL::Tree,
49          * from joint coordinates to cartesian pose.
50          *
51          * @param q_in input joint coordinates
52          * @param p_out reference to output cartesian pose
53          *
54          * @return if < 0 something went wrong
55          */
56         virtual int JntToCart(const JntArray& q_in, Frame& p_out, const std::string& segmentName, const std::string& baseName)=0;
57         virtual ~TreeFkSolverPos(){};
58     };
59
60     /**
61      * \brief This <strong>abstract</strong> class encapsulates a solver
62      * for the forward velocity kinematics for a KDL::Tree.
63      *
64      * @ingroup KinematicFamily
65      */
66 //    class TreeFkSolverVel {
67 //    public:
68         /**
69          * Calculate forward position and velocity kinematics, from
70          * joint coordinates to cartesian coordinates.
71          *
72          * @param q_in input joint coordinates (position and velocity)
73          * @param out output cartesian coordinates (position and velocity)
74          *
75          * @return if < 0 something went wrong
76          */
77 //        virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
78
79 //        virtual ~TreeFkSolverVel(){};
80 //    };
81     
82     /**
83      * \brief This <strong>abstract</strong> class encapsulates a solver
84      * for the forward acceleration kinematics for a KDL::Tree.
85      *
86      * @ingroup KinematicFamily
87      */
88
89 //    class TreeFkSolverAcc {
90 //   public:
91         /**
92          * Calculate forward position, velocity and accelaration
93          * kinematics, from joint coordinates to cartesian coordinates
94          *
95          * @param q_in input joint coordinates (position, velocity and
96          * acceleration
97          @param out output cartesian coordinates (position, velocity
98          * and acceleration
99          *
100          * @return if < 0 something went wrong
101          */
102 //    virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
103
104 //        virtual ~TreeFkSolverAcc()=0;
105 //    };
106
107
108 }//end of namespace KDL
109
110 #endif