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_JNTARRAYVEL_HPP
00023 #define KDL_JNTARRAYVEL_HPP
00024
00025 #include "utilities/utility.h"
00026 #include "jntarray.hpp"
00027 #include "framevel.hpp"
00028
00029 namespace KDL
00030 {
00031
00032 class JntArrayVel;
00033 bool Equal(const JntArrayVel& src1,const JntArrayVel& src2,double eps=epsilon);
00034 void Add(const JntArrayVel& src1,const JntArrayVel& src2,JntArrayVel& dest);
00035 void Add(const JntArrayVel& src1,const JntArray& src2,JntArrayVel& dest);
00036 void Subtract(const JntArrayVel& src1,const JntArrayVel& src2,JntArrayVel& dest);
00037 void Subtract(const JntArrayVel& src1,const JntArray& src2,JntArrayVel& dest);
00038 void Multiply(const JntArrayVel& src,const double& factor,JntArrayVel& dest);
00039 void Multiply(const JntArrayVel& src,const doubleVel& factor,JntArrayVel& dest);
00040 void Divide(const JntArrayVel& src,const double& factor,JntArrayVel& dest);
00041 void Divide(const JntArrayVel& src,const doubleVel& factor,JntArrayVel& dest);
00042 void SetToZero(JntArrayVel& array);
00043
00044
00045 class JntArrayVel
00046 {
00047 public:
00048 JntArray q;
00049 JntArray qdot;
00050 public:
00051 JntArrayVel(){};
00052 explicit JntArrayVel(unsigned int size);
00053 JntArrayVel(const JntArray& q,const JntArray& qdot);
00054 explicit JntArrayVel(const JntArray& q);
00055
00056 void resize(unsigned int newSize);
00057
00058 JntArray value()const;
00059 JntArray deriv()const;
00060
00061 friend void Add(const JntArrayVel& src1,const JntArrayVel& src2,JntArrayVel& dest);
00062 friend void Add(const JntArrayVel& src1,const JntArray& src2,JntArrayVel& dest);
00063 friend void Subtract(const JntArrayVel& src1,const JntArrayVel& src2,JntArrayVel& dest);
00064 friend void Subtract(const JntArrayVel& src1,const JntArray& src2,JntArrayVel& dest);
00065 friend void Multiply(const JntArrayVel& src,const double& factor,JntArrayVel& dest);
00066 friend void Multiply(const JntArrayVel& src,const doubleVel& factor,JntArrayVel& dest);
00067 friend void Divide(const JntArrayVel& src,const double& factor,JntArrayVel& dest);
00068 friend void Divide(const JntArrayVel& src,const doubleVel& factor,JntArrayVel& dest);
00069 friend void SetToZero(JntArrayVel& array);
00070 friend bool Equal(const JntArrayVel& src1,const JntArrayVel& src2,double eps);
00071
00072 };
00073
00074 }
00075
00076 #endif