|
Medial Code Documentation
|
Modules | |
| Global aligned box typedefs | |
| Eigen defines several typedef shortcuts for most common aligned box types. | |
Typedefs | |
| typedef AngleAxis< float > | Eigen::AngleAxisf |
| single precision angle-axis type | |
| typedef AngleAxis< double > | Eigen::AngleAxisd |
| double precision angle-axis type | |
| typedef Quaternion< float > | Eigen::Quaternionf |
| single precision quaternion type | |
| typedef Quaternion< double > | Eigen::Quaterniond |
| double precision quaternion type | |
| typedef Map< Quaternion< float >, 0 > | Eigen::QuaternionMapf |
| Map an unaligned array of single precision scalars as a quaternion. | |
| typedef Map< Quaternion< double >, 0 > | Eigen::QuaternionMapd |
| Map an unaligned array of double precision scalars as a quaternion. | |
| typedef Map< Quaternion< float >, Aligned > | Eigen::QuaternionMapAlignedf |
| Map a 16-byte aligned array of single precision scalars as a quaternion. | |
| typedef Map< Quaternion< double >, Aligned > | Eigen::QuaternionMapAlignedd |
| Map a 16-byte aligned array of double precision scalars as a quaternion. | |
| typedef Rotation2D< float > | Eigen::Rotation2Df |
| single precision 2D rotation type | |
| typedef Rotation2D< double > | Eigen::Rotation2Dd |
| double precision 2D rotation type | |
| typedef Transform< float, 2, Isometry > | Eigen::Isometry2f |
| typedef Transform< float, 3, Isometry > | Eigen::Isometry3f |
| typedef Transform< double, 2, Isometry > | Eigen::Isometry2d |
| typedef Transform< double, 3, Isometry > | Eigen::Isometry3d |
| typedef Transform< float, 2, Affine > | Eigen::Affine2f |
| typedef Transform< float, 3, Affine > | Eigen::Affine3f |
| typedef Transform< double, 2, Affine > | Eigen::Affine2d |
| typedef Transform< double, 3, Affine > | Eigen::Affine3d |
| typedef Transform< float, 2, AffineCompact > | Eigen::AffineCompact2f |
| typedef Transform< float, 3, AffineCompact > | Eigen::AffineCompact3f |
| typedef Transform< double, 2, AffineCompact > | Eigen::AffineCompact2d |
| typedef Transform< double, 3, AffineCompact > | Eigen::AffineCompact3d |
| typedef Transform< float, 2, Projective > | Eigen::Projective2f |
| typedef Transform< float, 3, Projective > | Eigen::Projective3f |
| typedef Transform< double, 2, Projective > | Eigen::Projective2d |
| typedef Transform< double, 3, Projective > | Eigen::Projective3d |
| EIGEN_DEVICE_FUNC const VectorwiseOp< ExpressionType, Direction >::CrossReturnType Eigen::VectorwiseOp< ExpressionType, Direction >::cross | ( | const MatrixBase< OtherDerived > & | other | ) | const |
\geometry_module
The referenced matrix must have one dimension equal to 3. The result matrix has the same dimensions than the referenced one.
| EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE MatrixBase< Derived >::template cross_product_return_type< OtherDerived >::type Eigen::MatrixBase< Derived >::cross | ( | const MatrixBase< OtherDerived > & | other | ) | const |
\geometry_module
*this and other Here is a very good explanation of cross-product: http://xkcd.com/199/
With complex numbers, the cross product is implemented as 
|
inline |
\geometry_module
*this and other using only the x, y, and z coefficientsThe size of *this and other must be four. This function is especially useful when using 4D vectors instead of 3D ones to get advantage of SSE/AltiVec vectorization.
|
inline |
\geometry_module
*this using the convention defined by the triplet (a0,a1,a2)Each of the three parameters a0,a1,a2 represents the respective rotation axis as an integer in {0,1,2}. For instance, in:
"2" represents the z axis and "0" the x axis, etc. The returned angles are such that we have the following equality:
This corresponds to the right-multiply conventions (with right hand side frames).
The returned angles are in the ranges [0:pi]x[-pi:pi]x[-pi:pi].
|
inline |
\geometry_module
homogeneous normalization
*this divided by that last coefficient.This can be used to convert homogeneous coordinates to affine coordinates.
It is essentially a shortcut for:
Example:
Output:
|
inline |
\geometry_module
column or row-wise homogeneous normalization
*this divided by the last coefficient of each column (or row).This can be used to convert homogeneous coordinates to affine coordinates.
It is conceptually equivalent to calling MatrixBase::hnormalized() to each column (or row) of *this.
Example:
Output:
|
inline |
\geometry_module
This can be used to convert affine coordinates to homogeneous coordinates.
\only_for_vectors
Example:
Output:
|
inline |
\geometry_module
This can be used to convert affine coordinates to homogeneous coordinates.
Example:
Output:
| internal::umeyama_transform_matrix_type< Derived, OtherDerived >::type Eigen::umeyama | ( | const MatrixBase< Derived > & | src, |
| const MatrixBase< OtherDerived > & | dst, | ||
| bool | with_scaling = true |
||
| ) |
\geometry_module
Returns the transformation between two point sets.
The algorithm is based on: "Least-squares estimation of transformation parameters between two point patterns", Shinji Umeyama, PAMI 1991, DOI: 10.1109/34.88573
It estimates parameters 


is minimized.
The algorithm is based on the analysis of the covariance matrix 






Currently the method is working only for floating point matrices.
| src | Source points ![]() |
| dst | Destination points ![]() |
| with_scaling | Sets ![]() false is passed. |

|
inline |
\geometry_module
*this The size of *this must be at least 2. If the size is exactly 2, then the returned vector is a counter clock wise rotation of *this, i.e., (-y,x).normalized().