![]() |
Visual Servoing Platform version 3.6.0
|
#include <vpQuaternionVector.h>
Public Member Functions | |
| vpQuaternionVector () | |
| vpQuaternionVector (const vpQuaternionVector &q) | |
| vpQuaternionVector (const double qx, const double qy, const double qz, const double qw) | |
| vpQuaternionVector (const vpRotationMatrix &R) | |
| vpQuaternionVector (const vpThetaUVector &tu) | |
| vpQuaternionVector (const vpColVector &q) | |
| vpQuaternionVector (const std::vector< double > &q) | |
| virtual | ~vpQuaternionVector () |
| vpQuaternionVector | buildFrom (const double qx, const double qy, const double qz, const double qw) |
| vpQuaternionVector | buildFrom (const vpRotationMatrix &R) |
| vpQuaternionVector | buildFrom (const vpThetaUVector &tu) |
| vpQuaternionVector | buildFrom (const vpColVector &q) |
| vpQuaternionVector | buildFrom (const std::vector< double > &q) |
| void | set (double x, double y, double z, double w) |
| const double & | x () const |
| const double & | y () const |
| const double & | z () const |
| const double & | w () const |
| double & | x () |
| double & | y () |
| double & | z () |
| double & | w () |
| vpQuaternionVector | operator+ (const vpQuaternionVector &q) const |
| vpQuaternionVector | operator- (const vpQuaternionVector &q) const |
| vpQuaternionVector | operator- () const |
| vpQuaternionVector | operator* (double l) const |
| vpQuaternionVector | operator* (const vpQuaternionVector &rq) const |
| vpQuaternionVector | operator/ (double l) const |
| vpQuaternionVector & | operator= (const vpColVector &q) |
| vpQuaternionVector & | operator= (const vpQuaternionVector &q)=default |
| vpQuaternionVector & | operator= (const std::initializer_list< double > &list) |
| vpQuaternionVector | conjugate () const |
| vpQuaternionVector | inverse () const |
| double | magnitude () const |
| void | normalize () |
Inherited functionalities from vpArray2D | |
| unsigned int | getCols () const |
| double | getMaxValue () const |
| double | getMinValue () const |
| unsigned int | getRows () const |
| unsigned int | size () const |
| void | resize (unsigned int nrows, unsigned int ncols, bool flagNullify=true, bool recopy_=true) |
| void | reshape (unsigned int nrows, unsigned int ncols) |
| void | insert (const vpArray2D< double > &A, unsigned int r, unsigned int c) |
| bool | operator!= (const vpArray2D< double > &A) const |
| vpArray2D< double > | hadamard (const vpArray2D< double > &m) const |
Static Public Member Functions | |
| static double | dot (const vpQuaternionVector &q0, const vpQuaternionVector &q1) |
| static vpQuaternionVector | lerp (const vpQuaternionVector &q0, const vpQuaternionVector &q1, double t) |
| static vpQuaternionVector | nlerp (const vpQuaternionVector &q0, const vpQuaternionVector &q1, double t) |
| static vpQuaternionVector | slerp (const vpQuaternionVector &q0, const vpQuaternionVector &q1, double t) |
Inherited I/O from vpArray2D with Static Public Member Functions | |
| static bool | load (const std::string &filename, vpArray2D< double > &A, bool binary=false, char *header=NULL) |
| static bool | loadYAML (const std::string &filename, vpArray2D< double > &A, char *header=NULL) |
| static bool | save (const std::string &filename, const vpArray2D< double > &A, bool binary=false, const char *header="") |
| static bool | saveYAML (const std::string &filename, const vpArray2D< double > &A, const char *header="") |
| static vpArray2D< double > | conv2 (const vpArray2D< double > &M, const vpArray2D< double > &kernel, const std::string &mode) |
Public Attributes | |
| double * | data |
Protected Attributes | |
| unsigned int | rowNum |
| unsigned int | colNum |
| double ** | rowPtrs |
| unsigned int | dsize |
Related Symbols | |
(Note that these are not member symbols.) | |
| vpColVector | operator* (const double &x, const vpRotationVector &v) |
| bool | operator== (const vpArray2D< double > &A) const |
| bool | operator== (const vpArray2D< float > &A) const |
| void | vpGEMM (const vpArray2D< double > &A, const vpArray2D< double > &B, const double &alpha, const vpArray2D< double > &C, const double &beta, vpArray2D< double > &D, const unsigned int &ops=0) |
| enum | vpGEMMmethod |
Inherited functionalities from vpRotationVector | |
| double & | operator[] (unsigned int i) |
| const double & | operator[] (unsigned int i) const |
| vpRotationVector & | operator<< (double val) |
| vpRotationVector & | operator, (double val) |
| double | sumSquare () const |
| vpRowVector | t () const |
| std::vector< double > | toStdVector () const |
| unsigned int | m_index |
Implementation of a rotation vector as quaternion angle minimal representation.
Defines a quaternion and its basic operations.
The vpQuaternionVector class is derived from vpRotationVector.
A quaternion is defined by four double values: 
This class allows to compute a quaternion from a rotation matrix using either vpQuaternionVector(const vpRotationMatrix &) constructor or buildFrom() method.
It also defines common operations on a quaternion such as:
You can set values accessing each element:
You can also initialize the vector using operator<<(double):
Or you can also initialize the vector from a list of doubles if ViSP is build with c++11 enabled:
To get the values use:
or use getter:
Definition at line 106 of file vpQuaternionVector.h.
| vpQuaternionVector::vpQuaternionVector | ( | ) |
Default constructor that initialize all the 4 angles to zero.
Definition at line 55 of file vpQuaternionVector.cpp.
References vpRotationVector::vpRotationVector().
Referenced by buildFrom(), buildFrom(), buildFrom(), buildFrom(), buildFrom(), conjugate(), dot(), inverse(), lerp(), nlerp(), operator*(), operator*(), operator+(), operator-(), operator-(), operator/(), operator=(), operator=(), operator=(), slerp(), and vpQuaternionVector().
| vpQuaternionVector::vpQuaternionVector | ( | const vpQuaternionVector & | q | ) |
Copy constructor.
Definition at line 58 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), and vpRotationVector::vpRotationVector().
| vpQuaternionVector::vpQuaternionVector | ( | const double | qx, |
| const double | qy, | ||
| const double | qz, | ||
| const double | qw ) |
Constructor from doubles.
Definition at line 61 of file vpQuaternionVector.cpp.
References set(), and vpRotationVector::vpRotationVector().
|
explicit |
Constructs a quaternion from a rotation matrix.
| R | : Matrix containing a rotation. |
Definition at line 77 of file vpQuaternionVector.cpp.
References buildFrom(), and vpRotationVector::vpRotationVector().
|
explicit |
Constructor that initialize 

| tu | : ![]() |
Definition at line 85 of file vpQuaternionVector.cpp.
References buildFrom(), and vpRotationVector::vpRotationVector().
|
explicit |
Constructor from a 4-dimension vector of doubles.
Definition at line 67 of file vpQuaternionVector.cpp.
References buildFrom(), and vpRotationVector::vpRotationVector().
|
explicit |
Constructor from a 4-dimension vector of doubles.
Definition at line 70 of file vpQuaternionVector.cpp.
References buildFrom(), and vpRotationVector::vpRotationVector().
|
inlinevirtual |
Destructor.
Definition at line 121 of file vpQuaternionVector.h.
| vpQuaternionVector vpQuaternionVector::buildFrom | ( | const double | qx, |
| const double | qy, | ||
| const double | qz, | ||
| const double | qw ) |
Manually change values of a quaternion.
| qx | : x quaternion parameter. |
| qy | : y quaternion parameter. |
| qz | : z quaternion parameter. |
| qw | : w quaternion parameter. |
Definition at line 110 of file vpQuaternionVector.cpp.
References set(), and vpQuaternionVector().
Referenced by vp::eigen2visp(), vpHomogeneousMatrix::extract(), vpPoseVector::extract(), vpQuaternionVector(), vpQuaternionVector(), vpQuaternionVector(), and vpQuaternionVector().
| vpQuaternionVector vpQuaternionVector::buildFrom | ( | const std::vector< double > & | q | ) |
Construct a quaternion vector from a 4-dim vector (x,y,z,w).
Definition at line 148 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data, vpException::dimensionError, and vpQuaternionVector().
| vpQuaternionVector vpQuaternionVector::buildFrom | ( | const vpColVector & | q | ) |
Construct a quaternion vector from a 4-dim vector (x,y,z,w).
Definition at line 133 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data, vpException::dimensionError, vpArray2D< Type >::size(), and vpQuaternionVector().
| vpQuaternionVector vpQuaternionVector::buildFrom | ( | const vpRotationMatrix & | R | ) |
Constructs a quaternion from a rotation matrix.
| R | : Rotation matrix. |
Definition at line 251 of file vpQuaternionVector.cpp.
References vpThetaUVector::extract(), set(), and vpQuaternionVector().
| vpQuaternionVector vpQuaternionVector::buildFrom | ( | const vpThetaUVector & | tu | ) |
Convert a 
| tu | : ![]() |
Definition at line 122 of file vpQuaternionVector.cpp.
References buildFrom(), and vpQuaternionVector().
Referenced by buildFrom().
| vpQuaternionVector vpQuaternionVector::conjugate | ( | ) | const |
Quaternion conjugate.
Definition at line 270 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
Referenced by inverse(), and operator=().
|
staticinherited |
Perform a 2D convolution similar to Matlab conv2 function: 
| M | : First matrix. |
| kernel | : Second matrix. |
| mode | : Convolution mode: "full" (default), "same", "valid". |
Definition at line 954 of file vpArray2D.h.
References vpArray2D().
|
static |
Compute dot product between two quaternions.
| q0 | : First quaternion. |
| q1 | : Second quaternion. |
Definition at line 317 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
Referenced by lerp(), operator=(), and slerp().
|
inlineinherited |
Return the number of columns of the 2D array.
Definition at line 280 of file vpArray2D.h.
Referenced by vpMatrix::cond(), vpMatrix::cppPrint(), vpRowVector::cppPrint(), vpMatrix::csvPrint(), vpRowVector::csvPrint(), vpMatrix::detByLUEigen3(), vpMatrix::extract(), vpHomogeneousMatrix::getCol(), vpMatrix::getCol(), vpRotationMatrix::getCol(), vpMatrix::inducedL2Norm(), vpMatrix::inverseByLUEigen3(), vpMatrix::inverseByQRLapack(), vpRotationMatrix::isARotationMatrix(), vpMatrix::kernel(), vpMatrix::maplePrint(), vpRowVector::maplePrint(), vpMatrix::matlabPrint(), vpRowVector::matlabPrint(), vpMatrix::nullSpace(), vpMatrix::nullSpace(), vpRowVector::operator*(), vpRowVector::operator+(), vpRowVector::operator+=(), vpRowVector::operator-(), vpRowVector::operator-=(), vpForceTwistMatrix::print(), vpMatrix::print(), vpRowVector::print(), vpVelocityTwistMatrix::print(), vpMatrix::row(), vpMatrix::svdEigen3(), vpMatrix::svdLapack(), vpMatrix::svdOpenCV(), vpRowVector::vpRowVector(), and vpRowVector::vpRowVector().
|
inherited |
Return the array max value.
Definition at line 282 of file vpArray2D.h.
|
inherited |
Return the array min value.
Definition at line 284 of file vpArray2D.h.
|
inlineinherited |
Return the number of rows of the 2D array.
Definition at line 290 of file vpArray2D.h.
Referenced by vpMatrix::column(), vpMatrix::cond(), vpColVector::cppPrint(), vpMatrix::cppPrint(), vpColVector::csvPrint(), vpMatrix::csvPrint(), vpMatrix::detByLUEigen3(), vpMatrix::extract(), vpHomogeneousMatrix::getCol(), vpMatrix::getCol(), vpRotationMatrix::getCol(), vpMatrix::inducedL2Norm(), vpMatrix::inverseByCholeskyLapack(), vpMatrix::inverseByLUEigen3(), vpMatrix::inverseByQRLapack(), vpRotationMatrix::isARotationMatrix(), vpMatrix::kernel(), vpColVector::maplePrint(), vpMatrix::maplePrint(), vpColVector::matlabPrint(), vpMatrix::matlabPrint(), vpMatrix::nullSpace(), vpMatrix::nullSpace(), vpColVector::operator+(), vpColVector::operator+(), vpColVector::operator+=(), vpColVector::operator-(), vpColVector::operator-=(), vpColVector::print(), vpForceTwistMatrix::print(), vpMatrix::print(), vpPoseVector::print(), vpVelocityTwistMatrix::print(), vpMatrix::svdEigen3(), vpMatrix::svdLapack(), vpMatrix::svdOpenCV(), vpColVector::vpColVector(), and vpColVector::vpColVector().
Compute the Hadamard product (element wise matrix multiplication).
| m | : Second matrix; |

Definition at line 554 of file vpArray2D.h.
References vpArray2D().
|
inlineinherited |
Insert array A at the given position in the current array.
| A | : The array to insert. |
| r | : The index of the row to begin to insert data. |
| c | : The index of the column to begin to insert data. |
Definition at line 417 of file vpArray2D.h.
| vpQuaternionVector vpQuaternionVector::inverse | ( | ) | const |
Quaternion inverse.
Definition at line 277 of file vpQuaternionVector.cpp.
References conjugate(), vpMath::nul(), vpQuaternionVector(), w(), x(), y(), and z().
Referenced by operator=().
|
static |
Compute Quaternion Linear intERPolation (LERP). See the following references:
| q0 | : Start quaternion. |
| q1 | : End quaternion. |
| t | : Interpolation value between [0, 1]. |
Definition at line 385 of file vpQuaternionVector.cpp.
References dot(), vpRotationVector::t(), vpQuaternionVector(), w(), x(), y(), and z().
Referenced by nlerp(), and operator=().
|
inlinestaticinherited |
Load a matrix from a file.
| filename | : Absolute file name. |
| A | : Array to be loaded |
| binary | : If true the matrix is loaded from a binary file, else from a text file. |
| header | : Header of the file is loaded in this parameter. |
Definition at line 582 of file vpArray2D.h.
|
inlinestaticinherited |
Load an array from a YAML-formatted file.
| filename | : absolute file name. |
| A | : array to be loaded from the file. |
| header | : header of the file is loaded in this parameter. |
Definition at line 696 of file vpArray2D.h.
| double vpQuaternionVector::magnitude | ( | ) | const |
Quaternion magnitude or norm.
Definition at line 296 of file vpQuaternionVector.cpp.
References w(), x(), y(), and z().
Referenced by normalize(), and operator=().
|
static |
Compute Quaternion Normalized Linear intERPolation (NLERP). See the following references:
| q0 | : Start quaternion. |
| q1 | : End quaternion. |
| t | : Interpolation value between [0, 1]. |
Definition at line 419 of file vpQuaternionVector.cpp.
References lerp(), normalize(), vpRotationVector::t(), and vpQuaternionVector().
Referenced by operator=().
| void vpQuaternionVector::normalize | ( | ) |
Normalize the quaternion.
Definition at line 301 of file vpQuaternionVector.cpp.
References magnitude(), vpMath::nul(), set(), w(), x(), y(), and z().
Referenced by nlerp(), operator=(), and slerp().
|
inherited |
Not equal to comparison operator of a 2D array.
Definition at line 442 of file vpArray2D.h.
References vpArray2D().
| vpQuaternionVector vpQuaternionVector::operator* | ( | const vpQuaternionVector & | rq | ) | const |
Multiply two quaternions.
Definition at line 193 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
| vpQuaternionVector vpQuaternionVector::operator* | ( | double | l | ) | const |
Multiplication by scalar. Returns a quaternion defined by (lx,ly,lz,lw).
Definition at line 187 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
| vpQuaternionVector vpQuaternionVector::operator+ | ( | const vpQuaternionVector & | q | ) | const |
Quaternion addition.
Adds two quaternions. Addition is component-wise.
| q | : quaternion to add. |
Definition at line 167 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
|
inherited |
Set vector second and third element values.
| val | : Value of the vector element [rad]. |
The following example shows how to initialize a 
It produces the following printings:
Definition at line 159 of file vpRotationVector.cpp.
References vpArray2D< double >::data, vpException::dimensionError, m_index, vpArray2D< double >::size(), and vpRotationVector().
| vpQuaternionVector vpQuaternionVector::operator- | ( | ) | const |
Negate operator. Returns a quaternion defined by (-x,-y,-z-,-w).
Definition at line 184 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
| vpQuaternionVector vpQuaternionVector::operator- | ( | const vpQuaternionVector & | q | ) | const |
Quaternion subtraction.
subtracts a quaternion from another. subtraction is component-wise.
| q | : quaternion to subtract. |
Definition at line 178 of file vpQuaternionVector.cpp.
References vpQuaternionVector(), w(), x(), y(), and z().
| vpQuaternionVector vpQuaternionVector::operator/ | ( | double | l | ) | const |
Division by scalar. Returns a quaternion defined by (x/l,y/l,z/l,w/l).
Definition at line 202 of file vpQuaternionVector.cpp.
References vpException::fatalError, vpMath::nul(), vpQuaternionVector(), w(), x(), y(), and z().
|
inherited |
Set vector first element value.
| val | : Value of the vector first element [rad]. |
The following example shows how to initialize a 
It produces the following printings:
Definition at line 129 of file vpRotationVector.cpp.
References vpArray2D< double >::data, m_index, and vpRotationVector().
| vpQuaternionVector & vpQuaternionVector::operator= | ( | const std::initializer_list< double > & | list | ) |
Set vector from a list of 4 double angle values.
It produces the following printings:
Definition at line 358 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data, vpException::dimensionError, vpArray2D< double >::size(), and vpQuaternionVector().
| vpQuaternionVector & vpQuaternionVector::operator= | ( | const vpColVector & | q | ) |
Copy operator that initializes a quaternion vector from a 4-dimension column vector q.
| q | : 4-dimension vector containing the values of the quaternion vector. |
Definition at line 234 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data, vpException::dimensionError, vpArray2D< Type >::size(), and vpQuaternionVector().
|
default |
References conjugate(), dot(), inverse(), lerp(), magnitude(), nlerp(), normalize(), slerp(), vpRotationVector::t(), and vpQuaternionVector().
|
inlineinherited |
Operator that allows to set the value of an element of the rotation vector: r[i] = value
Definition at line 122 of file vpRotationVector.h.
References vpArray2D< double >::data.
|
inlineinherited |
Operator that allows to get the value of an element of the rotation vector: value = r[i]
Definition at line 127 of file vpRotationVector.h.
References vpArray2D< double >::data.
|
inlineinherited |
Definition at line 383 of file vpArray2D.h.
|
inlineinherited |
Set the size of the array and initialize all the values to zero.
| nrows | : number of rows. |
| ncols | : number of column. |
| flagNullify | : if true, then the array is re-initialized to 0 after resize. If false, the initial values from the common part of the array (common part between old and new version of the array) are kept. Default value is true. |
| recopy_ | : if true, will perform an explicit recopy of the old data. |
Definition at line 305 of file vpArray2D.h.
Referenced by vpMatrix::diag(), vpMatrix::eye(), vpMatrix::init(), vpMatrix::operator,(), vpMatrix::operator<<(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::stack(), vpMatrix::stack(), vpMatrix::stack(), and vpMatrix::svdOpenCV().
|
inlinestaticinherited |
Save a matrix to a file.
| filename | : Absolute file name. |
| A | : Array to be saved. |
| binary | : If true the matrix is saved in a binary file, else a text file. |
| header | : Optional line that will be saved at the beginning of the file. |
Warning : If you save the matrix as in a text file the precision is less than if you save it in a binary file.
Definition at line 784 of file vpArray2D.h.
|
inlinestaticinherited |
Save an array in a YAML-formatted file.
| filename | : absolute file name. |
| A | : array to be saved in the file. |
| header | : optional lines that will be saved at the beginning of the file. Should be YAML-formatted and will adapt to the indentation if any. |
Here is an example of outputs.
Content of matrix.yml:
Content of matrixIndent.yml:
Definition at line 875 of file vpArray2D.h.
| void vpQuaternionVector::set | ( | double | qx, |
| double | qy, | ||
| double | qz, | ||
| double | qw ) |
Manually change values of a quaternion.
| qx | : x quaternion parameter. |
| qy | : y quaternion parameter. |
| qz | : z quaternion parameter. |
| qw | : w quaternion parameter. |
Definition at line 94 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
Referenced by buildFrom(), buildFrom(), normalize(), and vpQuaternionVector().
|
inlineinherited |
Return the number of elements of the 2D array.
Definition at line 292 of file vpArray2D.h.
Referenced by vpHomogeneousMatrix::isValid(), vpColVector::operator*(), vpHomogeneousMatrix::operator,(), vpRotationMatrix::operator,(), vpRotationVector::operator,(), vpTranslationVector::operator,(), vpQuaternionVector::operator=(), vpRxyzVector::operator=(), vpRzyxVector::operator=(), vpRzyzVector::operator=(), vpThetaUVector::operator=(), vpThetaUVector::operator=(), vpTranslationVector::operator=(), vpMatrix::stack(), vpColVector::toStdVector(), vpPoseVector::toStdVector(), vpRotationVector::toStdVector(), vpRowVector::toStdVector(), vpColVector::vpColVector(), vpColVector::vpColVector(), vpColVector::vpColVector(), vpColVector::vpColVector(), vpColVector::vpColVector(), vpColVector::vpColVector(), vpRowVector::vpRowVector(), and vpRowVector::vpRowVector().
|
static |
Compute Quaternion Spherical Linear intERPolation (SLERP). See the following references:
| q0 | : Start quaternion. |
| q1 | : End quaternion. |
| t | : Interpolation value between [0, 1]. |
Definition at line 443 of file vpQuaternionVector.cpp.
References dot(), normalize(), vpRotationVector::t(), vpQuaternionVector(), w(), x(), y(), and z().
Referenced by operator=().
|
inherited |
Return the sum square of all the elements 
![\[\sum{i=0}^{m} r_i^{2}\]](form_614.png)
Definition at line 178 of file vpRotationVector.cpp.
References vpArray2D< double >::rowNum, and vpArray2D< double >::rowPtrs.
|
inherited |
Return the transpose of the rotation vector.
Definition at line 53 of file vpRotationVector.cpp.
References vpArray2D< double >::data, and vpArray2D< double >::dsize.
Referenced by vpQuaternionVector::lerp(), vpQuaternionVector::nlerp(), vpQuaternionVector::operator=(), and vpQuaternionVector::slerp().
|
inherited |
Converts the vpRotationVector to a std::vector.
Definition at line 67 of file vpRotationVector.cpp.
References vpArray2D< double >::data, and vpArray2D< double >::size().
| double & vpQuaternionVector::w | ( | ) |
Returns a reference to the w-component of the quaternion.
Definition at line 338 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
| const double & vpQuaternionVector::w | ( | ) | const |
Returns the w-component of the quaternion.
Definition at line 329 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
Referenced by vpRotationMatrix::buildFrom(), conjugate(), dot(), inverse(), lerp(), magnitude(), normalize(), operator*(), operator*(), operator+(), operator-(), operator-(), operator/(), slerp(), and vp::visp2eigen().
| double & vpQuaternionVector::x | ( | ) |
Returns a reference to the x-component of the quaternion.
Definition at line 332 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
| const double & vpQuaternionVector::x | ( | ) | const |
Returns the x-component of the quaternion.
Definition at line 323 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
Referenced by vpRotationMatrix::buildFrom(), conjugate(), dot(), inverse(), lerp(), magnitude(), normalize(), operator*(), operator*(), operator+(), operator-(), operator-(), operator/(), slerp(), and vp::visp2eigen().
| double & vpQuaternionVector::y | ( | ) |
Returns a reference to the y-component of the quaternion.
Definition at line 334 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
| const double & vpQuaternionVector::y | ( | ) | const |
Returns the y-component of the quaternion.
Definition at line 325 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
Referenced by vpRotationMatrix::buildFrom(), conjugate(), dot(), inverse(), lerp(), magnitude(), normalize(), operator*(), operator*(), operator+(), operator-(), operator-(), operator/(), slerp(), and vp::visp2eigen().
| double & vpQuaternionVector::z | ( | ) |
Returns a reference to the z-component of the quaternion.
Definition at line 336 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
| const double & vpQuaternionVector::z | ( | ) | const |
Returns the z-component of the quaternion.
Definition at line 327 of file vpQuaternionVector.cpp.
References vpArray2D< double >::data.
Referenced by vpRotationMatrix::buildFrom(), conjugate(), dot(), inverse(), lerp(), magnitude(), normalize(), operator*(), operator*(), operator+(), operator-(), operator-(), operator/(), slerp(), and vp::visp2eigen().
|
Allows to multiply a scalar by rotaion vector.
Definition at line 99 of file vpRotationVector.cpp.
References vpRotationVector().
|
Definition at line 1191 of file vpArray2D.h.
References vpArray2D< Type >::colNum, colNum, vpArray2D< Type >::data, data, vpArray2D< Type >::rowNum, rowNum, vpArray2D< Type >::size(), and vpArray2D().
|
Definition at line 1209 of file vpArray2D.h.
References vpArray2D< Type >::colNum, colNum, vpArray2D< Type >::data, data, vpArray2D< Type >::rowNum, rowNum, vpArray2D< Type >::size(), and vpArray2D().
|
This function performs generalized matrix multiplication: D = alpha*op(A)*op(B) + beta*op(C), where op(X) is X or X^T. Operation on A, B and C matrices is described by enumeration vpGEMMmethod().
For example, to compute D = alpha*A^T*B^T+beta*C we need to call :
If C is not used, vpGEMM must be called using an empty array null. Thus to compute D = alpha*A^T*B, we have to call:
| vpException::incorrectMatrixSizeError | if the sizes of the matrices do not allow the operations. |
| A | : An array that could be a vpMatrix. |
| B | : An array that could be a vpMatrix. |
| alpha | : A scalar. |
| C | : An array that could be a vpMatrix. |
| beta | : A scalar. |
| D | : The resulting array that could be a vpMatrix. |
| ops | : A scalar describing operation applied on the matrices. Possible values are the one defined in vpGEMMmethod(): VP_GEMM_A_T, VP_GEMM_B_T, VP_GEMM_C_T. |
Definition at line 388 of file vpGEMM.h.
References vpException::functionNotImplementedError, and vpArray2D().
|
Enumeration of the operations applied on matrices in vpGEMM() function.
Operations are :
|
protectedinherited |
Number of columns in the array.
Definition at line 136 of file vpArray2D.h.
Referenced by vpMatrix::AAt(), vpMatrix::AtA(), vpColVector::clear(), vpMatrix::clear(), vpRowVector::clear(), vpMatrix::detByLU(), vpMatrix::detByLUEigen3(), vpMatrix::detByLULapack(), vpMatrix::detByLUOpenCV(), vpMatrix::diag(), vpMatrix::eigenValues(), vpMatrix::eigenValues(), vpMatrix::expm(), vpRowVector::extract(), vpMatrix::eye(), vpMatrix::getDiag(), vpMatrix::getRow(), vpMatrix::getRow(), vpColVector::hadamard(), vpMatrix::hadamard(), vpMatrix::infinityNorm(), vpSubColVector::init(), vpSubMatrix::init(), vpSubRowVector::init(), vpMatrix::insert(), vpRowVector::insert(), vpMatrix::inverseByCholeskyLapack(), vpMatrix::inverseByCholeskyOpenCV(), vpMatrix::inverseByLU(), vpMatrix::inverseByLUEigen3(), vpMatrix::inverseByLULapack(), vpMatrix::inverseByLUOpenCV(), vpMatrix::inverseByQRLapack(), vpMatrix::inverseTriangular(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpRotationMatrix::operator*(), vpRotationMatrix::operator*(), vpRowVector::operator*(), vpRowVector::operator*(), vpRowVector::operator*(), vpMatrix::operator*=(), vpRotationMatrix::operator*=(), vpRowVector::operator*=(), vpRowVector::operator+(), vpMatrix::operator+=(), vpMatrix::operator+=(), vpRowVector::operator+=(), vpMatrix::operator,(), vpRowVector::operator,(), vpRowVector::operator-(), vpRowVector::operator-(), vpMatrix::operator-=(), vpMatrix::operator-=(), vpRowVector::operator-=(), vpMatrix::operator/(), vpRowVector::operator/(), vpMatrix::operator/=(), vpRowVector::operator/=(), vpColVector::operator<<(), vpMatrix::operator<<(), vpColVector::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpSubMatrix::operator=(), vpSubMatrix::operator=(), vpSubMatrix::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), operator==(), operator==(), vpColVector::operator==(), vpRowVector::operator==(), vpMatrix::qr(), vpMatrix::qrPivot(), vpRowVector::reshape(), vpMatrix::setIdentity(), vpMatrix::solveByQR(), vpMatrix::solveByQR(), vpMatrix::solveBySVD(), vpMatrix::stack(), vpMatrix::stack(), vpMatrix::stack(), vpRowVector::stack(), vpMatrix::stackColumns(), vpMatrix::stackColumns(), vpMatrix::stackRows(), vpMatrix::stackRows(), vpMatrix::sum(), vpRowVector::sum(), vpMatrix::sumSquare(), vpRowVector::sumSquare(), vpMatrix::svdLapack(), vpRowVector::t(), vpMatrix::transpose(), vpColVector::vpColVector(), vpMatrix::vpMatrix(), and vpRowVector::vpRowVector().
|
inherited |
Address of the first element of the data array.
Definition at line 144 of file vpArray2D.h.
Referenced by vpMatrix::AAt(), vpMatrix::AtA(), vpHomogeneousMatrix::buildFrom(), vpHomogeneousMatrix::buildFrom(), vpQuaternionVector::buildFrom(), vpQuaternionVector::buildFrom(), vpRxyzVector::buildFrom(), vpRxyzVector::buildFrom(), vpRxyzVector::buildFrom(), vpRzyxVector::buildFrom(), vpRzyxVector::buildFrom(), vpRzyxVector::buildFrom(), vpRzyzVector::buildFrom(), vpRzyzVector::buildFrom(), vpRzyzVector::buildFrom(), vpThetaUVector::buildFrom(), vpThetaUVector::buildFrom(), vpThetaUVector::buildFrom(), vpThetaUVector::buildFrom(), vpThetaUVector::buildFrom(), vpSubColVector::checkParentStatus(), vpSubMatrix::checkParentStatus(), vpSubRowVector::checkParentStatus(), vpColVector::clear(), vpMatrix::clear(), vpRowVector::clear(), vpHomogeneousMatrix::convert(), vpHomogeneousMatrix::convert(), vpMatrix::detByLUEigen3(), vpMatrix::detByLUOpenCV(), vpMatrix::expm(), vpThetaUVector::extract(), vpMatrix::frobeniusNorm(), vpMatrix::getRow(), vpThetaUVector::getTheta(), vpThetaUVector::getU(), vpColVector::hadamard(), vpMatrix::hadamard(), vpSubColVector::init(), vpSubMatrix::init(), vpSubRowVector::init(), vpColVector::insert(), vpColVector::insert(), vpMatrix::insert(), vpMatrix::inverseByCholeskyOpenCV(), vpMatrix::inverseByLUEigen3(), vpMatrix::inverseByLUOpenCV(), vpHomogeneousMatrix::isValid(), vpColVector::operator*(), vpHomography::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpRowVector::operator*(), vpRowVector::operator*(), vpTranslationVector::operator*(), vpColVector::operator,(), vpHomogeneousMatrix::operator,(), vpRotationMatrix::operator,(), vpRotationVector::operator,(), vpRowVector::operator,(), vpTranslationVector::operator,(), vpColVector::operator-(), vpRowVector::operator-(), vpTranslationVector::operator-(), vpColVector::operator/(), vpHomography::operator/(), vpRowVector::operator/(), vpTranslationVector::operator/(), vpHomography::operator/=(), vpColVector::operator<<(), vpHomogeneousMatrix::operator<<(), vpRotationMatrix::operator<<(), vpRotationVector::operator<<(), vpRowVector::operator<<(), vpTranslationVector::operator<<(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpQuaternionVector::operator=(), vpQuaternionVector::operator=(), vpRotationMatrix::operator=(), vpRotationVector::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpRxyzVector::operator=(), vpRxyzVector::operator=(), vpRxyzVector::operator=(), vpRzyxVector::operator=(), vpRzyxVector::operator=(), vpRzyxVector::operator=(), vpRzyzVector::operator=(), vpRzyzVector::operator=(), vpRzyzVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpThetaUVector::operator=(), vpThetaUVector::operator=(), vpThetaUVector::operator=(), vpTranslationVector::operator=(), vpTranslationVector::operator=(), vpTranslationVector::operator=(), vpTranslationVector::operator=(), operator==(), operator==(), vpColVector::operator==(), vpColVector::operator==(), vpRowVector::operator==(), vpColVector::operator[](), vpColVector::operator[](), vpPoseVector::operator[](), vpPoseVector::operator[](), vpRotationVector::operator[](), vpRotationVector::operator[](), vpRowVector::operator[](), vpRowVector::operator[](), vpTranslationVector::operator[](), vpTranslationVector::operator[](), vpRotationMatrix::orthogonalize(), vpHomogeneousMatrix::orthogonalizeRotation(), vpMatrix::qr(), vpMatrix::qrPivot(), vpColVector::reshape(), vpRowVector::reshape(), vpQuaternionVector::set(), vpMatrix::stack(), vpMatrix::stack(), vpMatrix::stackRows(), vpColVector::sum(), vpColVector::sumSquare(), vpMatrix::svdEigen3(), vpMatrix::svdLapack(), vpMatrix::svdOpenCV(), vpColVector::t(), vpPoseVector::t(), vpRotationVector::t(), vpRowVector::t(), vpTranslationVector::t(), vpColVector::toStdVector(), vpPoseVector::toStdVector(), vpRotationVector::toStdVector(), vpRowVector::toStdVector(), vpMatrix::transpose(), vpColVector::vpColVector(), vpColVector::vpColVector(), vpHomogeneousMatrix::vpHomogeneousMatrix(), vpMatrix::vpMatrix(), vpRowVector::vpRowVector(), vpQuaternionVector::w(), vpQuaternionVector::w(), vpQuaternionVector::x(), vpQuaternionVector::x(), vpQuaternionVector::y(), vpQuaternionVector::y(), vpQuaternionVector::z(), vpQuaternionVector::z(), vpSubColVector::~vpSubColVector(), vpSubMatrix::~vpSubMatrix(), and vpSubRowVector::~vpSubRowVector().
|
protectedinherited |
Current array size (rowNum * colNum).
Definition at line 140 of file vpArray2D.h.
Referenced by vpColVector::clear(), vpMatrix::clear(), vpRowVector::clear(), vpMatrix::frobeniusNorm(), vpMatrix::hadamard(), vpMatrix::inducedL2Norm(), vpSubColVector::init(), vpSubMatrix::init(), vpSubRowVector::init(), vpRotationVector::operator*(), vpTranslationVector::operator*(), vpTranslationVector::operator-(), vpTranslationVector::operator/(), vpColVector::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpRotationMatrix::operator=(), vpRowVector::operator=(), vpRxyzVector::operator=(), vpRzyxVector::operator=(), vpRzyzVector::operator=(), vpThetaUVector::operator=(), vpColVector::reshape(), vpRowVector::reshape(), vpRotationVector::t(), vpColVector::vpColVector(), vpMatrix::vpMatrix(), and vpRowVector::vpRowVector().
|
protectedinherited |
Definition at line 156 of file vpRotationVector.h.
Referenced by operator,(), operator<<(), vpRotationVector(), vpRotationVector(), and vpRotationVector().
|
protectedinherited |
Number of rows in the array.
Definition at line 134 of file vpArray2D.h.
Referenced by vpMatrix::AAt(), vpMatrix::AtA(), vpColVector::clear(), vpMatrix::clear(), vpRowVector::clear(), vpMatrix::detByLU(), vpMatrix::detByLUEigen3(), vpMatrix::detByLULapack(), vpMatrix::detByLUOpenCV(), vpMatrix::diag(), vpMatrix::eigenValues(), vpMatrix::eigenValues(), vpMatrix::expm(), vpColVector::extract(), vpMatrix::eye(), vpMatrix::getCol(), vpMatrix::getDiag(), vpMatrix::getRow(), vpColVector::hadamard(), vpMatrix::hadamard(), vpColVector::infinityNorm(), vpMatrix::infinityNorm(), vpSubColVector::init(), vpSubMatrix::init(), vpSubRowVector::init(), vpMatrix::insert(), vpMatrix::inverseByCholeskyLapack(), vpMatrix::inverseByCholeskyOpenCV(), vpMatrix::inverseByLU(), vpMatrix::inverseByLUEigen3(), vpMatrix::inverseByLULapack(), vpMatrix::inverseByLUOpenCV(), vpMatrix::inverseByQRLapack(), vpMatrix::inverseTriangular(), vpColVector::operator*(), vpColVector::operator*(), vpColVector::operator*(), vpHomogeneousMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpRotationMatrix::operator*(), vpRotationMatrix::operator*(), vpTranslationVector::operator*(), vpColVector::operator*=(), vpMatrix::operator*=(), vpRotationMatrix::operator*=(), vpTranslationVector::operator*=(), vpColVector::operator+(), vpColVector::operator+=(), vpMatrix::operator+=(), vpMatrix::operator+=(), vpColVector::operator,(), vpColVector::operator-(), vpColVector::operator-(), vpColVector::operator-=(), vpMatrix::operator-=(), vpMatrix::operator-=(), vpColVector::operator/(), vpMatrix::operator/(), vpColVector::operator/=(), vpMatrix::operator/=(), vpTranslationVector::operator/=(), vpColVector::operator<<(), vpMatrix::operator<<(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpColVector::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubColVector::operator=(), vpSubMatrix::operator=(), vpSubMatrix::operator=(), vpSubMatrix::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpSubRowVector::operator=(), vpTranslationVector::operator=(), vpTranslationVector::operator=(), operator==(), operator==(), vpColVector::operator==(), vpColVector::operator==(), vpRowVector::operator==(), vpMatrix::qr(), vpMatrix::qrPivot(), vpColVector::reshape(), vpMatrix::setIdentity(), vpColVector::stack(), vpMatrix::stack(), vpMatrix::stack(), vpMatrix::stack(), vpMatrix::stackColumns(), vpMatrix::stackColumns(), vpMatrix::stackRows(), vpMatrix::stackRows(), vpColVector::sum(), vpMatrix::sum(), vpColVector::sumSquare(), vpMatrix::sumSquare(), vpRotationVector::sumSquare(), vpTranslationVector::sumSquare(), vpMatrix::svdLapack(), vpColVector::t(), vpPoseVector::t(), vpTranslationVector::t(), vpMatrix::transpose(), vpColVector::vpColVector(), vpMatrix::vpMatrix(), and vpRowVector::vpRowVector().
|
protectedinherited |
Address of the first element of each rows.
Definition at line 138 of file vpArray2D.h.
Referenced by vpMatrix::AAt(), vpColVector::clear(), vpMatrix::clear(), vpRowVector::clear(), vpMatrix::infinityNorm(), vpColVector::init(), vpMatrix::init(), vpRowVector::init(), vpSubColVector::init(), vpSubMatrix::init(), vpSubRowVector::init(), vpForceTwistMatrix::operator*(), vpForceTwistMatrix::operator*(), vpForceTwistMatrix::operator*(), vpHomogeneousMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpMatrix::operator*(), vpRotationMatrix::operator*(), vpRotationMatrix::operator*(), vpRotationMatrix::operator*(), vpRotationMatrix::operator*(), vpVelocityTwistMatrix::operator*(), vpVelocityTwistMatrix::operator*(), vpVelocityTwistMatrix::operator*(), vpMatrix::operator*=(), vpRotationMatrix::operator*=(), vpMatrix::operator+=(), vpMatrix::operator+=(), vpMatrix::operator,(), vpMatrix::operator-=(), vpMatrix::operator-=(), vpMatrix::operator/(), vpMatrix::operator/=(), vpColVector::operator<<(), vpMatrix::operator<<(), vpMatrix::operator<<(), vpColVector::operator=(), vpForceTwistMatrix::operator=(), vpHomogeneousMatrix::operator=(), vpMatrix::operator=(), vpMatrix::operator=(), vpRotationMatrix::operator=(), vpRowVector::operator=(), vpRowVector::operator=(), vpSubMatrix::operator=(), vpSubMatrix::operator=(), vpSubMatrix::operator=(), vpVelocityTwistMatrix::operator=(), vpMatrix::stack(), vpMatrix::stackColumns(), vpMatrix::sum(), vpRowVector::sum(), vpMatrix::sumSquare(), vpRotationVector::sumSquare(), vpRowVector::sumSquare(), vpTranslationVector::sumSquare(), vpColVector::vpColVector(), vpMatrix::vpMatrix(), and vpRowVector::vpRowVector().