ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Eigen.h File Reference
#include "CVCoreLib.h"
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <Eigen/StdVector>
#include <memory>
#include <tuple>
#include <unordered_map>
#include <utility>
#include <vector>
#include <initializer_list>
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.

Classes

class  std::vector< Eigen::Vector2d, std::allocator< Eigen::Vector2d > >
 
class  std::vector< Eigen::Vector4d, std::allocator< Eigen::Vector4d > >
 
class  std::vector< Eigen::Vector4f, std::allocator< Eigen::Vector4f > >
 
class  std::vector< Eigen::Matrix2d, std::allocator< Eigen::Matrix2d > >
 
class  std::vector< Eigen::Matrix2f, std::allocator< Eigen::Matrix2f > >
 
class  std::vector< Eigen::Matrix4d, std::allocator< Eigen::Matrix4d > >
 
class  std::vector< Eigen::Matrix4f, std::allocator< Eigen::Matrix4f > >
 
class  std::vector< Eigen::Affine3d, std::allocator< Eigen::Affine3d > >
 
class  std::vector< Eigen::Affine3f, std::allocator< Eigen::Affine3f > >
 
class  std::vector< Eigen::Quaterniond, std::allocator< Eigen::Quaterniond > >
 
class  std::vector< Eigen::Quaternionf, std::allocator< Eigen::Quaternionf > >
 
class  std::vector< Eigen::Matrix< float, 3, 4 >, std::allocator< Eigen::Matrix< float, 3, 4 > > >
 
class  std::vector< Eigen::Matrix< double, 3, 4 >, std::allocator< Eigen::Matrix< double, 3, 4 > > >
 

Namespaces

 std
 
 Eigen
 
 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::utility
 

Macros

#define CPP_VERSION   __cplusplus
 
#define EIGEN_ALIGNED_ALLOCATOR   Eigen::aligned_allocator
 
#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION_CUSTOM(...)
 

Typedefs

typedef Eigen::Matrix< double, 6, 6 > Eigen::Matrix6d
 Extending Eigen namespace by adding frequently used matrix type. More...
 
typedef Eigen::Matrix< double, 6, 1 > Eigen::Vector6d
 
typedef Eigen::Matrix< uint8_t, 3, 1 > Eigen::Vector3uint8
 
typedef Eigen::Matrix< double, 6, 6, Eigen::DontAlign > Eigen::Matrix6d_u
 
typedef Eigen::Matrix< double, 4, 4, Eigen::DontAlign > Eigen::Matrix4d_u
 
typedef Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Eigen::Vector3d_u
 
typedef Eigen::Matrix< float, 3, 1, Eigen::DontAlign > Eigen::Vector3f_u
 
typedef Eigen::Matrix< double, 4, 1, Eigen::DontAlign > Eigen::Vector4d_u
 
typedef Eigen::Matrix< float, 4, 1, Eigen::DontAlign > Eigen::Vector4f_u
 
using cloudViewer::utility::Matrix4d_allocator = Eigen::aligned_allocator< Eigen::Matrix4d >
 
using cloudViewer::utility::Matrix6d_allocator = Eigen::aligned_allocator< Eigen::Matrix6d >
 
using cloudViewer::utility::Vector2d_allocator = Eigen::aligned_allocator< Eigen::Vector2d >
 
using cloudViewer::utility::Vector3uint8_allocator = Eigen::aligned_allocator< Eigen::Vector3uint8 >
 
using cloudViewer::utility::Vector4i_allocator = Eigen::aligned_allocator< Eigen::Vector4i >
 
using cloudViewer::utility::Vector4d_allocator = Eigen::aligned_allocator< Eigen::Vector4d >
 
using cloudViewer::utility::Vector6d_allocator = Eigen::aligned_allocator< Eigen::Vector6d >
 

Functions

Eigen::Matrix3d cloudViewer::utility::SkewMatrix (const Eigen::Vector3d &vec)
 Genretate a skew-symmetric matrix from a vector 3x1. More...
 
Eigen::Matrix4d cloudViewer::utility::TransformVector6dToMatrix4d (const Eigen::Vector6d &input)
 
Eigen::Vector6d cloudViewer::utility::TransformMatrix4dToVector6d (const Eigen::Matrix4d &input)
 
std::tuple< bool, Eigen::VectorXd > cloudViewer::utility::SolveLinearSystemPSD (const Eigen::MatrixXd &A, const Eigen::VectorXd &b, bool prefer_sparse=false, bool check_symmetric=false, bool check_det=false, bool check_psd=false)
 Function to solve Ax=b. More...
 
std::tuple< bool, Eigen::Matrix4d > cloudViewer::utility::SolveJacobianSystemAndObtainExtrinsicMatrix (const Eigen::Matrix6d &JTJ, const Eigen::Vector6d &JTr)
 
std::tuple< bool, std::vector< Eigen::Matrix4d, Matrix4d_allocator > > cloudViewer::utility::SolveJacobianSystemAndObtainExtrinsicMatrixArray (const Eigen::MatrixXd &JTJ, const Eigen::VectorXd &JTr)
 
template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > cloudViewer::utility::ComputeJTJandJTr (std::function< void(int, VecType &, double &, double &)> f, int iteration_num, bool verbose=true)
 
template<typename MatType , typename VecType >
std::tuple< MatType, VecType, double > cloudViewer::utility::ComputeJTJandJTr (std::function< void(int, std::vector< VecType, Eigen::aligned_allocator< VecType >> &, std::vector< double > &, std::vector< double > &)> f, int iteration_num, bool verbose=true)
 
Eigen::Matrix3d cloudViewer::utility::RotationMatrixX (double radians)
 
Eigen::Matrix3d cloudViewer::utility::RotationMatrixY (double radians)
 
Eigen::Matrix3d cloudViewer::utility::RotationMatrixZ (double radians)
 
Eigen::Vector3uint8 cloudViewer::utility::ColorToUint8 (const Eigen::Vector3d &color)
 
Eigen::Vector3d cloudViewer::utility::ColorToDouble (uint8_t r, uint8_t g, uint8_t b)
 Color conversion from uint8_t 0-255 to double [0,1]. More...
 
Eigen::Vector3d cloudViewer::utility::ColorToDouble (const Eigen::Vector3uint8 &rgb)
 
template<typename IdxType >
Eigen::Matrix3d cloudViewer::utility::ComputeCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< IdxType > &indices)
 Function to compute the covariance matrix of a set of points. More...
 
template<typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const std::vector< Eigen::Vector3d > &points, const std::vector< IdxType > &indices)
 Function to compute the mean and covariance matrix of a set of points. More...
 
template<typename RealType , typename IdxType >
std::tuple< Eigen::Vector3d, Eigen::Matrix3d > cloudViewer::utility::ComputeMeanAndCovariance (const RealType *const points, const std::vector< IdxType > &indices)
 

Macro Definition Documentation

◆ CPP_VERSION

#define CPP_VERSION   __cplusplus

Definition at line 16 of file Eigen.h.

◆ EIGEN_ALIGNED_ALLOCATOR

#define EIGEN_ALIGNED_ALLOCATOR   Eigen::aligned_allocator

Definition at line 46 of file Eigen.h.

◆ EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION_CUSTOM

#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION_CUSTOM (   ...)

Definition at line 52 of file Eigen.h.