# eigen.h File Reference

`#include <Eigen/Core>`
`#include <Eigen/Eigenvalues>`
`#include <Eigen/Geometry>`
`#include "pcl/common/impl/eigen.hpp"`
Include dependency graph for eigen.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

namespace  pcl

#define NOMINMAX

## Functions

template<typename Scalar , typename Roots >
void pcl::computeRoots2 (const Scalar &b, const Scalar &c, Roots &roots)
template<typename Matrix , typename Roots >
void pcl::computeRoots (const Matrix &m, Roots &roots)
template<typename Matrix , typename Vector >
void pcl::eigen33 (const Matrix &mat, Matrix &evecs, Vector &evals)
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::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::getTransformationFromTwoUnitVectors (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis, Eigen::Affine3f &transformation)
Same as getTransFromUnitVectorsZY - for downwards compatibility.
Eigen::Affine3f pcl::getTransformationFromTwoUnitVectors (const Eigen::Vector3f &y_direction, const Eigen::Vector3f &z_axis)
Same as getTransFromUnitVectorsZY - for downwards compatibility.
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::getEulerAngles (const Eigen::Affine3f &t, float &roll, float &pitch, float &yaw)
Extract the Euler angles (XYZ-convention) from the given transformation.
void pcl::getTranslationAndEulerAngles (const Eigen::Affine3f &t, float &x, float &y, float &z, float &roll, float &pitch, float &yaw)
Extract x,y,z and 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).
template<typename Derived >
void pcl::saveBinary (const Eigen::MatrixBase< Derived > &matrix, std::ostream &file)
Write a matrix to an output stream.
template<typename Derived >
void pcl::loadBinary (Eigen::MatrixBase< Derived > &matrix, std::istream &file)
Read a matrix from an input stream.

## Define Documentation

 #define NOMINMAX

Definition at line 93 of file eigen.h.