OpenWalnut
1.4.0
|
Matrix template class with variable number of rows and columns. More...
#include <WMatrix.h>
Public Member Functions | |
WMatrix (size_t n) | |
Produces a square matrix with the given number of components. | |
WMatrix (size_t nbRows, size_t nbCols) | |
Produces a matrix with the given number of components. | |
WMatrix (const WMatrix &newMatrix) | |
Produces a matrix as copy of the one given as parameter. | |
WMatrix (const WMatrix4d &newMatrix) | |
Copies the specified 4x4 matrix. | |
WMatrix (const Eigen::MatrixXd &newMatrix) | |
Copies the specified Eigen::MatrixXd. | |
WMatrix (const Eigen::MatrixXf &newMatrix) | |
Copies the specified Eigen::MatrixXf. | |
WMatrix (const Eigen::MatrixXi &newMatrix) | |
Copies the specified Eigen::MatrixXi. | |
WMatrix & | makeIdentity () |
Makes the matrix contain the identity matrix, i.e. | |
size_t | getNbRows () const |
Get number of rows. | |
size_t | getNbCols () const |
Get number of columns. | |
T & | operator() (size_t i, size_t j) |
Returns a reference to the component an row i, columns j in order to provide access to the component. | |
const T & | operator() (size_t i, size_t j) const |
Returns a const reference to the component an row i, columns j in order to provide read-only access to the component. | |
operator WMatrix4d () const | |
Cast this matrix to an 4x matrix if it is a 4x4 matrix. | |
operator osg::Matrixd () const | |
Cast this matrix to an 4x4 osg matrix if it is a 4x4 matrix. | |
template<typename EigenDataType > | |
operator Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > () const | |
Cast this matrix to an Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >() matrix. | |
bool | operator== (const WMatrix &rhs) const |
Compares two matrices and returns true if they are equal. | |
bool | operator!= (const WMatrix &rhs) const |
Compares two matrices and returns true if they are not equal. | |
WMatrix & | operator= (const WMatrix &rhs) |
Assigns the argument WMatrix to this WMatrix. | |
WMatrix | operator* (const WMatrix &rhs) const |
Multiplication of the current matrix with andother matrix. | |
WValue< T > | operator* (const WValue< T > &rhs) const |
Multiplication with a vector. | |
WVector3d | operator* (const WVector3d &rhs) const |
Multiplication with a vector. | |
WMatrix | transposed () const |
Returns the transposed matrix. | |
void | setZero () |
Resets the matrix components to zero. | |
bool | isSquare () const |
Returns true if the matrix is a square matrix. | |
bool | isIdentity (T delta=T(0.0)) const |
Returns true if the matrix is a identity matrix. | |
Private Member Functions | |
template<typename EigenDataType > | |
void | copyFromEigenMatrix (const Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > &newMatrix) |
This function is used by the constructors that have the different Eigen::MatrixX types as parameter. | |
Private Attributes | |
size_t | m_nbCols |
Number of columns of the matrix. The number of rows will be computed by (size/m_nbCols). |
Matrix template class with variable number of rows and columns.
The access function are row-major, which means that the rows are the first parameter or index.
Produces a square matrix with the given number of components.
The components will be set to zero if T is a type representing numbers.
n | Number of cols and rows in the matrix |
Definition at line 242 of file WMatrix.h.
References WMatrix< T >::m_nbCols.
Produces a matrix with the given number of components.
The components will be set to zero if T is a type representing numbers.
nbRows | number of rows in the matrix |
nbCols | number of columns in the matrix |
Definition at line 248 of file WMatrix.h.
References WMatrix< T >::m_nbCols.
Produces a matrix as copy of the one given as parameter.
newMatrix | The matrix to be copied. |
Definition at line 258 of file WMatrix.h.
References WMatrix< T >::m_nbCols.
Copies the specified 4x4 matrix.
newMatrix | the matrix to copy |
Definition at line 264 of file WMatrix.h.
References WMatrix< T >::m_nbCols.
void WMatrix< T >::copyFromEigenMatrix | ( | const Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > & | newMatrix | ) | [private] |
Get number of columns.
Definition at line 383 of file WMatrix.h.
Referenced by WSymmetricSphericalHarmonic< T >::applyFunkRadonTransformation(), WSymmetricSphericalHarmonic< T >::calcGFA(), WMatrix< T >::operator*(), WTensorTypesTest::testCastTensorToMatrix(), WLinearAlgebraFunctionsTest::testComputeSVD(), WMatrixTest::testGetNbRowsAndCols(), WLinearAlgebraFunctionsTest::testPseudoInverse(), WMatrixTest::testTransposed(), and WGridTransformOrthoTemplate< T >::WGridTransformOrthoTemplate().
Get number of rows.
Definition at line 375 of file WMatrix.h.
Referenced by WSymmetricSphericalHarmonic< T >::applyFunkRadonTransformation(), WSymmetricSphericalHarmonic< T >::calcGFA(), WMatrix< T >::operator*(), WTensorTypesTest::testCastTensorToMatrix(), WLinearAlgebraFunctionsTest::testComputeSVD(), WMatrixTest::testGetNbRowsAndCols(), WLinearAlgebraFunctionsTest::testPseudoInverse(), WMatrixTest::testTransposed(), and WGridTransformOrthoTemplate< T >::WGridTransformOrthoTemplate().
bool WMatrix< T >::isIdentity | ( | T | delta = T( 0.0 ) | ) | const |
Returns true if the matrix is a identity matrix.
delta | - tolerance parameter when checking the values. |
Definition at line 507 of file WMatrix.h.
Referenced by WMatrixTest::testIsIdentity().
WMatrix< T > & WMatrix< T >::makeIdentity | ( | ) |
Makes the matrix contain the identity matrix, i.e.
1 on the diagonal.
1 on the diagonal.
Definition at line 352 of file WMatrix.h.
Referenced by WTrackingUtilityTest::buildTestData(), WThreadedTrackingFunctionTest::buildTestData(), WDataSetTimeSeriesTest::createData(), WGridTransformOrthoTemplate< T >::getTransformationMatrix(), WGridTransformTest::testCompareConstructors(), WDataSetTimeSeriesTest::testConstruction(), WGridRegular3DTest::testEnclosesRotated(), WGridRegular3DTest::testGetPositionScalarOffset(), WGridRegular3DTest::testGetVectorOffset(), WGridRegular3DTest::testGetVoxelNumberOfGeneralPosition(), WGridTransformTest::testInstantiation(), WDataSetScalarTest::testInterpolateInRotatedGrid(), WMatrixTest::testIsIdentity(), WGridRegular3DTest::testOrientation(), WDataSetVectorTest::testRotatedGridInterpolate(), WGridRegular3DTest::testRotatedVoxelNum(), WGridRegular3DTest::testRotatedVoxelOutOfGrid(), WGridTransformTest::testTransformationToGridSpace(), and WGridTransformTest::testTransformationToWorldSpace().
WMatrix< T >::operator Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > | ( | ) | const |
WMatrix< T >::operator osg::Matrixd | ( | ) | const |
Compares two matrices and returns true if they are not equal.
rhs | The right hand side of the comparison |
rhs | The right hand side of the comparison |
Definition at line 425 of file WMatrix.h.
References WMatrix< T >::m_nbCols, and WValue< T >::operator!=().
Multiplication of the current matrix with andother matrix.
rhs | The right hand side of the multiplication |
Definition at line 454 of file WMatrix.h.
References WMatrix< T >::getNbCols(), and WMatrix< T >::getNbRows().
Multiplication with a vector.
rhs | The right hand side of the multiplication |
Reimplemented from WValue< T >.
Definition at line 472 of file WMatrix.h.
References WValue< T >::size().
Multiplication with a vector.
rhs | The right hand side of the multiplication |
Definition at line 487 of file WMatrix.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getRows().
Assigns the argument WMatrix to this WMatrix.
rhs | The right hand side of the assignment |
rhs | The right hand side of the assignment |
Definition at line 434 of file WMatrix.h.
References WMatrix< T >::m_nbCols, and WValue< T >::operator=().
Compares two matrices and returns true if they are equal.
rhs | The right hand side of the comparison |
rhs | The right hand side of the comparison |
Definition at line 416 of file WMatrix.h.
References WMatrix< T >::m_nbCols, and WValue< T >::operator==().
Resets the matrix components to zero.
Definition at line 208 of file WMatrix.h.
Referenced by WSymmetricSphericalHarmonicTest::testCalcFRTMatrix(), and WSymmetricSphericalHarmonicTest::testCalcSmoothingMatrix().
WMatrix< T > WMatrix< T >::transposed | ( | ) | const |
Returns the transposed matrix.
Definition at line 444 of file WMatrix.h.
Referenced by WSymmetricSphericalHarmonic< T >::getSHFittingMatrix(), WSymmetricSphericalHarmonic< T >::getSHFittingMatrixForConstantSolidAngle(), WOSSIMHelperTest::testComputeSVD(), and WMatrixTest::testTransposed().
Number of columns of the matrix. The number of rows will be computed by (size/m_nbCols).
Definition at line 239 of file WMatrix.h.
Referenced by WMatrix< T >::operator!=(), WMatrix< T >::operator=(), WMatrix< T >::operator==(), and WMatrix< T >::WMatrix().