#include <Eigen/StdVector>
#include <Eigen/Core>
#include <Eigen/Eigenvalues>
#include <Eigen/Geometry>
#include <Eigen/SVD>
#include <Eigen/LU>
#include <Eigen/Dense>
#include <pcl/common/impl/eigen.hpp>
Go to the source code of this file.
Namespaces | |
namespace | pcl |
Defines | |
#define | NOMINMAX |
Functions | |
template<typename Matrix , typename Vector > | |
void | pcl::computeCorrespondingEigenVector (const Matrix &mat, const typename Matrix::Scalar &eigenvalue, Vector &eigenvector) |
determines the corresponding eigenvector to the given eigenvalue of the symmetric positive semi definite input matrix | |
template<typename Matrix , typename Roots > | |
void | pcl::computeRoots (const Matrix &m, Roots &roots) |
computes the roots of the characteristic polynomial of the input matrix m, which are the eigenvalues | |
template<typename Scalar , typename Roots > | |
void | pcl::computeRoots2 (const Scalar &b, const Scalar &c, Roots &roots) |
Compute the roots of a quadratic polynom x^2 + b*x + c = 0. | |
template<typename Matrix > | |
Matrix::Scalar | pcl::determinant3x3Matrix (const Matrix &matrix) |
template<typename Matrix , typename Vector > | |
void | pcl::eigen22 (const Matrix &mat, typename Matrix::Scalar &eigenvalue, Vector &eigenvector) |
determine the smallest eigenvalue and its corresponding eigenvector | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen22 (const Matrix &mat, Matrix &eigenvectors, Vector &eigenvalues) |
determine the smallest eigenvalue and its corresponding eigenvector | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen33 (const Matrix &mat, typename Matrix::Scalar &eigenvalue, Vector &eigenvector) |
determines the eigenvector and eigenvalue of the smallest eigenvalue of the symmetric positive semi definite input matrix | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen33 (const Matrix &mat, Vector &evals) |
determines the eigenvalues of the symmetric positive semi definite input matrix | |
template<typename Matrix , typename Vector > | |
void | pcl::eigen33 (const Matrix &mat, Matrix &evecs, Vector &evals) |
determines the eigenvalues and corresponding eigenvectors of the symmetric positive semi definite input matrix | |
void | pcl::getEulerAngles (const Eigen::Affine3f &t, float &roll, float &pitch, float &yaw) |
Extract the Euler angles (XYZ-convention) from the given transformation. | |
void | pcl::getTransformation (float x, float y, float z, float roll, float pitch, float yaw, Eigen::Affine3f &t) |
Create a transformation from the given translation and Euler angles (XYZ-convention) | |
Eigen::Affine3f | pcl::getTransformation (float x, float y, float z, float roll, float pitch, float yaw) |
Create a transformation from the given translation and Euler angles (XYZ-convention) | |
void | pcl::getTransformationFromTwoUnitVectors (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis, Eigen::Affine3f &transformation) |
Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
Eigen::Affine3f | pcl::getTransformationFromTwoUnitVectors (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis) |
Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
void | pcl::getTransformationFromTwoUnitVectorsAndOrigin (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis, const Eigen::Vector3f &origin, Eigen::Affine3f &transformation) |
Get the transformation that will translate orign to (0,0,0) and rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
void | pcl::getTransFromUnitVectorsXY (const Eigen::Vector3f &x_axis, const Eigen::Vector3f &y_direction, Eigen::Affine3f &transformation) |
Get the unique 3D rotation that will rotate x_axis into (1,0,0) and y_direction into a vector with z=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
Eigen::Affine3f | pcl::getTransFromUnitVectorsXY (const Eigen::Vector3f &x_axis, const Eigen::Vector3f &y_direction) |
Get the unique 3D rotation that will rotate x_axis into (1,0,0) and y_direction into a vector with z=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
void | pcl::getTransFromUnitVectorsZY (const Eigen::Vector3f &z_axis, const Eigen::Vector3f &y_direction, Eigen::Affine3f &transformation) |
Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
Eigen::Affine3f | pcl::getTransFromUnitVectorsZY (const Eigen::Vector3f &z_axis, const Eigen::Vector3f &y_direction) |
Get the unique 3D rotation that will rotate z_axis into (0,0,1) and y_direction into a vector with x=0 (or into (0,1,0) should y_direction be orthogonal to z_axis) | |
void | pcl::getTranslationAndEulerAngles (const Eigen::Affine3f &t, float &x, float &y, float &z, float &roll, float &pitch, float &yaw) |
template<typename Matrix > | |
Matrix::Scalar | pcl::invert2x2 (const Matrix &matrix, Matrix &inverse) |
Calculate the inverse of a 2x2 matrix. | |
template<typename Matrix > | |
Matrix::Scalar | pcl::invert3x3Matrix (const Matrix &matrix, Matrix &inverse) |
Calculate the inverse of a general 3x3 matrix. | |
template<typename Matrix > | |
Matrix::Scalar | pcl::invert3x3SymMatrix (const Matrix &matrix, Matrix &inverse) |
Calculate the inverse of a 3x3 symmetric matrix. | |
template<typename Derived > | |
void | pcl::loadBinary (Eigen::MatrixBase< Derived > const &matrix, std::istream &file) |
Read a matrix from an input stream. | |
template<typename Derived > | |
void | pcl::saveBinary (const Eigen::MatrixBase< Derived > &matrix, std::ostream &file) |
Write a matrix to an output stream. | |
template<typename Scalar > | |
Scalar | pcl::sqrt (const Scalar &val) |
template<> | |
double | pcl::sqrt< double > (const double &val) |
template<> | |
float | pcl::sqrt< float > (const float &val) |
template<> | |
long double | pcl::sqrt< long double > (const long double &val) |