Matrix.h File Reference

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

`#include <vector>`
`#include <Eigen/Core>`
`#include <Eigen/Geometry>`
`#include <Eigen/LU>`

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>
T | 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...
template<class Derived >
void | SurgSim::Math::zeroRow (size_t row, Eigen::DenseBase< Derived > *matrix)
| Helper method to zero a row of a matrix. More...
template<class Derived >
void | SurgSim::Math::zeroColumn (size_t column, Eigen::DenseBase< Derived > *matrix)
| Helper method to zero a column of a matrix. More...

## Detailed Description

Definitions of small fixed-size square matrix types.