All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Typedefs | Functions
Matrix.h File Reference

Definitions of small fixed-size square matrix types. More...

#include <vector>
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <Eigen/LU>
Include dependency graph for Matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 SurgSim
 
 SurgSim::Math
 

Typedefs

typedef Eigen::Matrix< float,
2, 2, Eigen::RowMajor > 
SurgSim::Math::Matrix22f
 A 2x2 matrix of floats. More...
 
typedef Eigen::Matrix< float,
3, 3, Eigen::RowMajor > 
SurgSim::Math::Matrix33f
 A 3x3 matrix of floats. More...
 
typedef Eigen::Matrix< float,
4, 4, Eigen::RowMajor > 
SurgSim::Math::Matrix44f
 A 4x4 matrix of floats. More...
 
typedef Eigen::Matrix< double,
2, 2, Eigen::RowMajor > 
SurgSim::Math::Matrix22d
 A 2x2 matrix of doubles. More...
 
typedef Eigen::Matrix< double,
3, 3, Eigen::RowMajor > 
SurgSim::Math::Matrix33d
 A 3x3 matrix of doubles. More...
 
typedef Eigen::Matrix< double,
4, 4, Eigen::RowMajor > 
SurgSim::Math::Matrix44d
 A 4x4 matrix of doubles. More...
 
typedef Eigen::Matrix< double,
6, 6, Eigen::RowMajor > 
SurgSim::Math::Matrix66d
 A 6x6 matrix of doubles. More...
 
typedef Eigen::DiagonalMatrix
< double, Eigen::Dynamic > 
SurgSim::Math::DiagonalMatrix
 A dynamic size diagonal matrix. More...
 
typedef Eigen::Matrix< double,
Eigen::Dynamic, Eigen::Dynamic > 
SurgSim::Math::Matrix
 A dynamic size matrix. More...
 

Functions

template<typename T , int VOpt>
Eigen::Matrix< T, 3, 3 > SurgSim::Math::makeRotationMatrix (const T &angle, const Eigen::Matrix< T, 3, 1, VOpt > &axis)
 Create a rotation matrix corresponding to the specified angle (in radians) and axis. More...
 
template<typename T , int VOpt>
Eigen::Matrix< T, 3, 3 > SurgSim::Math::makeSkewSymmetricMatrix (const Eigen::Matrix< T, 3, 1, VOpt > &vector)
 Create a skew-symmetric matrix corresponding to the specified vector. More...
 
template<typename T , int MOpt>
Eigen::Matrix< T, 3, 1 > SurgSim::Math::skew (const Eigen::Matrix< T, 3, 3, MOpt > &matrix)
 Extract the unique vector from the skew-symmetric part of a given matrix. More...
 
template<typename T , int MOpt, int VOpt>
void SurgSim::Math::computeAngleAndAxis (const Eigen::Matrix< T, 3, 3, MOpt > &matrix, T *angle, Eigen::Matrix< T, 3, 1, VOpt > *axis)
 Get the angle (in radians) and axis corresponding to a rotation matrix. More...
 
template<typename T , int MOpt>
SurgSim::Math::computeAngle (const Eigen::Matrix< T, 3, 3, MOpt > &matrix)
 Get the angle corresponding to a quaternion's rotation, in radians. More...
 
template<class Matrix , class SubMatrix >
void SurgSim::Math::addSubMatrix (const SubMatrix &subMatrix, size_t blockIdRow, size_t blockIdCol, size_t blockSizeRow, size_t blockSizeCol, Matrix *matrix)
 Helper method to add a sub-matrix into a matrix, for the sake of clarity. More...
 
template<class Matrix , class SubMatrix >
void SurgSim::Math::addSubMatrix (const SubMatrix &subMatrix, const std::vector< size_t > blockIds, size_t blockSize, Matrix *matrix)
 Helper method to add a sub-matrix made of squared-blocks into a matrix, for the sake of clarity. More...
 
template<class Matrix , class SubMatrix >
void SurgSim::Math::setSubMatrix (const SubMatrix &subMatrix, size_t blockIdRow, size_t blockIdCol, size_t blockSizeRow, size_t blockSizeCol, Matrix *matrix)
 Helper method to set a sub-matrix into a matrix, for the sake of clarity. More...
 
template<class Matrix >
Eigen::Block< Matrix > SurgSim::Math::getSubMatrix (Matrix &matrix, size_t blockIdRow, size_t blockIdCol, size_t blockSizeRow, size_t blockSizeCol)
 Helper method to access a sub-matrix from a matrix, for the sake of clarity. More...
 

Detailed Description

Definitions of small fixed-size square matrix types.