KDL 1.5.1
Loading...
Searching...
No Matches
jntarray.hpp
Go to the documentation of this file.
1// Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
2
3// Version: 1.0
4// Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
5// Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
6// URL: http://www.orocos.org/kdl
7
8// This library is free software; you can redistribute it and/or
9// modify it under the terms of the GNU Lesser General Public
10// License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12
13// This library is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16// Lesser General Public License for more details.
17
18// You should have received a copy of the GNU Lesser General Public
19// License along with this library; if not, write to the Free Software
20// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
22#ifndef KDL_JNTARRAY_HPP
23#define KDL_JNTARRAY_HPP
24
25#include "frames.hpp"
26#include "jacobian.hpp"
27
28#include <Eigen/Core>
29
30namespace KDL
31{
70 {
71 public:
72 Eigen::VectorXd data;
73
81 JntArray();
92 explicit JntArray(unsigned int size);
93
97 JntArray(const JntArray& arg);
98 ~JntArray();
108 void resize(unsigned int newSize);
109
110 JntArray& operator = ( const JntArray& arg);
119 double operator()(unsigned int i,unsigned int j=0)const;
128 double& operator()(unsigned int i,unsigned int j=0);
133 unsigned int rows()const;
137 unsigned int columns()const;
138
139 friend void Add(const JntArray& src1,const JntArray& src2,JntArray& dest);
140 friend void Subtract(const JntArray& src1,const JntArray& src2,JntArray& dest);
141 friend void Multiply(const JntArray& src,const double& factor,JntArray& dest);
142 friend void Divide(const JntArray& src,const double& factor,JntArray& dest);
143 friend void MultiplyJacobian(const Jacobian& jac, const JntArray& src, Twist& dest);
144 friend void SetToZero(JntArray& array);
145 friend bool Equal(const JntArray& src1,const JntArray& src2,double eps);
146
147 friend bool operator==(const JntArray& src1,const JntArray& src2);
148 //friend bool operator!=(const JntArray& src1,const JntArray& src2);
149 };
150
151 bool operator==(const JntArray& src1,const JntArray& src2);
152 //bool operator!=(const JntArray& src1,const JntArray& src2);
153
163 void Add(const JntArray& src1,const JntArray& src2,JntArray& dest);
173 void Subtract(const JntArray& src1,const JntArray& src2,JntArray& dest);
183 void Multiply(const JntArray& src,const double& factor,JntArray& dest);
193 void Divide(const JntArray& src,const double& factor,JntArray& dest);
206 void MultiplyJacobian(const Jacobian& jac, const JntArray& src, Twist& dest);
212 void SetToZero(JntArray& array);
223 bool Equal(const JntArray& src1,const JntArray& src2,double eps=epsilon);
224
225}
226
227#endif
Definition: jacobian.hpp:37
Definition: jntarray.hpp:70
double operator()(unsigned int i, unsigned int j=0) const
get_item operator for the joint array, if a second value is given it should be zero,...
Definition: jntarray.cpp:58
unsigned int rows() const
Returns the number of rows (size) of the array.
Definition: jntarray.cpp:70
friend void SetToZero(JntArray &array)
Function to set all the values of the array to 0.
Definition: jntarray.cpp:106
friend bool operator==(const JntArray &src1, const JntArray &src2)
Definition: jntarray.cpp:118
JntArray & operator=(const JntArray &arg)
Definition: jntarray.cpp:42
void resize(unsigned int newSize)
Resize the array.
Definition: jntarray.cpp:53
friend void MultiplyJacobian(const Jacobian &jac, const JntArray &src, Twist &dest)
Function to multiply a KDL::Jacobian with a KDL::JntArray to get a KDL::Twist, it should not be used ...
Definition: jntarray.cpp:100
friend void Subtract(const JntArray &src1, const JntArray &src2, JntArray &dest)
Function to subtract two joint arrays, all the arguments must have the same size: A - B = C.
Definition: jntarray.cpp:85
Eigen::VectorXd data
Definition: jntarray.hpp:72
friend void Multiply(const JntArray &src, const double &factor, JntArray &dest)
Function to multiply all the array values with a scalar factor: A*b=C.
Definition: jntarray.cpp:90
JntArray()
Construct with no data array.
Definition: jntarray.cpp:26
friend void Divide(const JntArray &src, const double &factor, JntArray &dest)
Function to divide all the array values with a scalar factor: A/b=C.
Definition: jntarray.cpp:95
friend bool Equal(const JntArray &src1, const JntArray &src2, double eps)
Function to check if two arrays are the same with a precision of eps.
Definition: jntarray.cpp:111
friend void Add(const JntArray &src1, const JntArray &src2, JntArray &dest)
Function to add two joint arrays, all the arguments must have the same size: A + B = C.
Definition: jntarray.cpp:80
~JntArray()
Definition: jntarray.cpp:49
unsigned int columns() const
Returns the number of columns of the array, always 1.
Definition: jntarray.cpp:75
represents both translational and rotational velocities.
Definition: frames.hpp:720
Definition: articulatedbodyinertia.cpp:26
bool operator==(const Rotation &a, const Rotation &b)
Definition: frames.cpp:430
void Add(const JntArray &src1, const JntArray &src2, JntArray &dest)
Function to add two joint arrays, all the arguments must have the same size: A + B = C.
Definition: jntarray.cpp:80
void Divide(const JntArray &src, const double &factor, JntArray &dest)
Function to divide all the array values with a scalar factor: A/b=C.
Definition: jntarray.cpp:95
void Multiply(const JntArray &src, const double &factor, JntArray &dest)
Function to multiply all the array values with a scalar factor: A*b=C.
Definition: jntarray.cpp:90
void SetToZero(Jacobian &jac)
Definition: jacobian.cpp:79
void Subtract(const JntArray &src1, const JntArray &src2, JntArray &dest)
Function to subtract two joint arrays, all the arguments must have the same size: A - B = C.
Definition: jntarray.cpp:85
void MultiplyJacobian(const Jacobian &jac, const JntArray &src, Twist &dest)
Function to multiply a KDL::Jacobian with a KDL::JntArray to get a KDL::Twist, it should not be used ...
Definition: jntarray.cpp:100
IMETHOD bool Equal(const FrameAcc &r1, const FrameAcc &r2, double eps=epsilon)