Classes | |
class | Angle |
This class implements simple computations on angles. More... | |
struct | Matrix3x3 |
Generic 3x3 matrix. More... | |
struct | Matrix4x4 |
Generic 4x4 matrix. More... | |
struct | Vector3D |
Generic 3d vector. More... | |
struct | Vector4D |
Generic 4D vector. More... | |
Functions | |
double | degreeToRadian (const double &x) |
double | radianToDegree (const double &x) |
template<typename T > | |
Angle | operator* (const T &coef, const Angle &angle) |
double | cos (const Angle &angle) |
double | sin (const Angle &angle) |
double | tan (const Angle &angle) |
std::ostream & | display (std::ostream &os, const Angle &angle) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Matrix3x3< T > &m) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Matrix4x4< T > &m) |
void | _resize (matrixNxP &mat1, const matrixNxP &mat2) |
void | _resizeInv (matrixNxP &res, const matrixNxP &mat2) |
matrixNxP & | pseudoInverse (const matrixNxP &matrix, matrixNxP &outInverse, const double threshold=1e-6, matrixNxP *Uref=0, vectorN *Sref=0, matrixNxP *Vref=0) |
Compute the pseudo-inverse of the matrix. | |
matrixNxP | dampedInverse (const matrixNxP &inMatrix, matrixNxP &invMatrix, const double threshold=1e-6, matrixNxP *Uref=0, vectorN *Sref=0, matrixNxP *Vref=0) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Vector3D< T > &v) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Vector4D< T > &v) |
Variables | |
static const bool | AUTORESIZE = true |
static const bool | CHECKRESIZE = true |
This is a very fast and simple implementation of a 3D matrix class of double.
Copyright 2008, 2009, 2010, Olivier Stasse, Florent Lamiraux, Francois Keith, Eiichi Yoshida, CNRS/AIST
This file is part of jrl-mathtools. jrl-mathtools is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
jrl-mathtools is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with jrl-mathtools. If not, see <http://www.gnu.org/licenses/>.
References AUTORESIZE.
Referenced by dampedInverse().
References AUTORESIZE.
Referenced by dampedInverse(), and pseudoInverse().
double jrlMathTools::cos | ( | const Angle & | angle | ) | [inline] |
References jrlMathTools::Angle::value().
matrixNxP jrlMathTools::dampedInverse | ( | const matrixNxP & | inMatrix, |
matrixNxP & | invMatrix, | ||
const double | threshold = 1e-6 , |
||
matrixNxP * | Uref = 0 , |
||
vectorN * | Sref = 0 , |
||
matrixNxP * | Vref = 0 |
||
) |
References _resize(), _resizeInv(), dgesvd_(), MRAWDATA, and VRAWDATA.
double jrlMathTools::degreeToRadian | ( | const double & | x | ) | [inline] |
References M_PI.
Referenced by jrlMathTools::Angle::degree().
std::ostream& jrlMathTools::display | ( | std::ostream & | os, |
const Angle & | angle | ||
) | [inline] |
References jrlMathTools::Angle::display().
Angle jrlMathTools::operator* | ( | const T & | coef, |
const Angle & | angle | ||
) |
References jrlMathTools::Angle::value().
std::ostream& jrlMathTools::operator<< | ( | std::ostream & | os, |
const Vector3D< T > & | v | ||
) |
std::ostream& jrlMathTools::operator<< | ( | std::ostream & | os, |
const Vector4D< T > & | v | ||
) | [inline] |
std::ostream& jrlMathTools::operator<< | ( | std::ostream & | os, |
const Matrix3x3< T > & | m | ||
) | [inline] |
std::ostream& jrlMathTools::operator<< | ( | std::ostream & | os, |
const Matrix4x4< T > & | m | ||
) | [inline] |
matrixNxP& jrlMathTools::pseudoInverse | ( | const matrixNxP & | matrix, |
matrixNxP & | outInverse, | ||
const double | threshold = 1e-6 , |
||
matrixNxP * | Uref = 0 , |
||
vectorN * | Sref = 0 , |
||
matrixNxP * | Vref = 0 |
||
) |
Compute the pseudo-inverse of the matrix.
By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.
References _resizeInv(), dgesvd_(), MRAWDATA, and VRAWDATA.
double jrlMathTools::radianToDegree | ( | const double & | x | ) | [inline] |
References M_PI.
Referenced by jrlMathTools::Angle::degree().
double jrlMathTools::sin | ( | const Angle & | angle | ) | [inline] |
References jrlMathTools::Angle::value().
double jrlMathTools::tan | ( | const Angle & | angle | ) | [inline] |
References jrlMathTools::Angle::value().
const bool jrlMathTools::AUTORESIZE = true [static] |
Referenced by _resize(), and _resizeInv().
const bool jrlMathTools::CHECKRESIZE = true [static] |