![]() |
OpenWalnut
1.5.0dev
|
Matrix template class with variable number of rows and columns. More...
#include <WMatrix.h>
Inheritance diagram for WMatrix< T >:
Collaboration diagram for WMatrix< T >:Public Member Functions | |
| WMatrix (size_t n) | |
| Produces a square matrix with the given number of components. More... | |
| WMatrix (size_t nbRows, size_t nbCols) | |
| Produces a matrix with the given number of components. More... | |
| WMatrix (const WMatrix &newMatrix) | |
| Produces a matrix as copy of the one given as parameter. More... | |
| WMatrix (const WMatrix4d &newMatrix) | |
| Copies the specified 4x4 matrix. More... | |
| WMatrix (const Eigen::MatrixXd &newMatrix) | |
| Copies the specified Eigen::MatrixXd. More... | |
| WMatrix (const Eigen::MatrixXf &newMatrix) | |
| Copies the specified Eigen::MatrixXf. More... | |
| WMatrix (const Eigen::MatrixXi &newMatrix) | |
| Copies the specified Eigen::MatrixXi. More... | |
| WMatrix & | makeIdentity () |
| Makes the matrix contain the identity matrix, i.e. More... | |
| size_t | getNbRows () const |
| Get number of rows. More... | |
| size_t | getNbCols () const |
| Get number of columns. More... | |
| 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. More... | |
| 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. More... | |
| operator WMatrix4d () const | |
| Cast this matrix to an 4x matrix if it is a 4x4 matrix. More... | |
| operator osg::Matrixd () const | |
| Cast this matrix to an 4x4 osg matrix if it is a 4x4 matrix. More... | |
| 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. More... | |
| bool | operator== (const WMatrix &rhs) const |
| Compares two matrices and returns true if they are equal. More... | |
| bool | operator!= (const WMatrix &rhs) const |
| Compares two matrices and returns true if they are not equal. More... | |
| WMatrix & | operator= (const WMatrix &rhs) |
| Assigns the argument WMatrix to this WMatrix. More... | |
| WMatrix | operator* (const WMatrix &rhs) const |
| Multiplication of the current matrix with andother matrix. More... | |
| WValue< T > | operator* (const WValue< T > &rhs) const |
| Multiplication with a vector. More... | |
| WVector3d | operator* (const WVector3d &rhs) const |
| Multiplication with a vector. More... | |
| WMatrix | transposed () const |
| Returns the transposed matrix. More... | |
| void | setZero () |
| Resets the matrix components to zero. More... | |
| bool | isSquare () const |
| Returns true if the matrix is a square matrix. More... | |
| bool | isIdentity (T delta=T(0.0)) const |
| Returns true if the matrix is a identity matrix. More... | |
Public Member Functions inherited from WValue< T > | |
| WValue (size_t nbComponents) | |
| Create a WValue with the given number of components. More... | |
| WValue (const WValue &newValue) | |
| Create a WValue as copy of the one given as parameter. More... | |
| template<typename S > | |
| WValue (const WValue< S > &newValue) | |
| Create a WValue as copy of the one given as parameter but with another template type. More... | |
| WValue (const Eigen::VectorXd &newValues) | |
| Create a WValue from the given Eigen::VectorXd. More... | |
| WValue (const Eigen::VectorXf &newValues) | |
| Create a WValue from the given Eigen::VectorXf. More... | |
| WValue (const Eigen::VectorXi &newValues) | |
| Create a WValue from the given Eigen::VectorXi. More... | |
| size_t | size () const |
| Get number of components the value consists of. More... | |
| T & | operator[] (size_t i) |
| Returns a reference to the i-th component in order to provide access to the component. More... | |
| const T & | operator[] (size_t i) const |
| Returns a CONST reference to the i-th component in order to provide read-only access to the component. More... | |
| bool | operator== (const WValue &rhs) const |
| Compares two WValues and returns true if they contain the same data. More... | |
| bool | operator!= (const WValue &rhs) const |
| Compares two WValues and returns true if they contain the different data. More... | |
| WValue & | operator= (const WValue &rhs) |
| Assigns the contents of its argument to the contents of this WValue. More... | |
| WValue & | operator+= (const WValue &rhs) |
| Adds a the argument component-wise to the components of this WValue. More... | |
| WValue & | operator-= (const WValue &rhs) |
| Subtracts the argument component-wise from the components of this WValue. More... | |
| WValue & | operator*= (double rhs) |
| Scales each component of this WValue with the given scalar argument. More... | |
| WValue & | operator*= (const WValue &rhs) |
| Scales each component of this WValue with the corresponding component of the given argument WValue. More... | |
| WValue & | operator/= (const double rhs) |
| Scales each component of this WValue with the given scalar argument. More... | |
| const WValue | operator+ (const WValue &summand2) const |
| Component-wise addition. More... | |
| const WValue | operator- (const WValue &subtrahend) const |
| Component-wise subtraction. More... | |
| const WValue | operator* (const WValue &factor2) const |
| Component-wise multiplication. More... | |
| double | norm () const |
| Square root of sum of squares of elements. More... | |
| double | normSquare () const |
| Sum of squares of elements. More... | |
| void | normalize () |
| Make the norm of this WValue be 1 by dividing by WValue::norm() More... | |
| WValue | normalized () const |
| Return a normalized version of the current WValue without modifying it. More... | |
| T | mean () const |
| Returns the mean value of all values stored in this WValue. More... | |
| T | median () const |
| Returns the median of all values stored in this WValue. More... | |
| void | resize (size_t size) |
| Changes the number of scalars held by this WValue. More... | |
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. More... | |
Private Attributes | |
| size_t | m_nbCols |
| Number of columns of the matrix. The number of rows will be computed by (size/m_nbCols). More... | |
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.
|
private |
| size_t WMatrix< T >::getNbCols |
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(), WOSSIMHelperTest::testComputeSVD(), WMatrixTest::testGetNbRowsAndCols(), WReaderNIfTITest::testMatrixConversion(), WLinearAlgebraFunctionsTest::testPseudoInverse(), WMatrixTest::testTransposed(), and WGridTransformOrthoTemplate< T >::WGridTransformOrthoTemplate().
Here is the caller graph for this function:| size_t WMatrix< T >::getNbRows |
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(), WOSSIMHelperTest::testComputeSVD(), WMatrixTest::testGetNbRowsAndCols(), WReaderNIfTITest::testMatrixConversion(), WLinearAlgebraFunctionsTest::testPseudoInverse(), WMatrixTest::testTransposed(), and WGridTransformOrthoTemplate< T >::WGridTransformOrthoTemplate().
Here is the caller graph for this function:| 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 510 of file WMatrix.h.
Referenced by WMatrixTest::testIsIdentity().
Here is the caller graph for this function:| bool WMatrix< T >::isSquare |
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(), WMVoxelizer::constructGrid(), WReaderNIfTI::convertMatrix(), WDataSetTimeSeriesTest::createData(), WReaderNIfTI::getStandardTransform(), WGridTransformOrthoTemplate< T >::getTransformationMatrix(), WMData::load(), WLinearAlgebraFunctionsTest::test4x4Inverse(), WGridTransformTest::testCompareConstructors(), WDataSetTimeSeriesTest::testConstruction(), WGridRegular3DTest::testEnclosesRotated(), WGridRegular3DTest::testGetPositionScalarOffset(), WGridRegular3DTest::testGetVectorOffset(), WGridRegular3DTest::testGetVoxelNumberOfGeneralPosition(), WGridTransformTest::testInstantiation(), WDataSetScalarTest::testInterpolateInRotatedGrid(), WMatrixTest::testIsIdentity(), WGridRegular3DTest::testOrientation(), WBresenhamTest::testRasteringIn3rdQuadrant(), WDataSetVectorTest::testRotatedGridInterpolate(), WGridRegular3DTest::testRotatedVoxelNum(), WGridRegular3DTest::testRotatedVoxelOutOfGrid(), WGridTransformTest::testTransformationToGridSpace(), WGridTransformTest::testTransformationToWorldSpace(), WDataSetScalarTest::testTranslatedGridInterpolation(), and WDataSetVectorTest::testTranslatedGridInterpolation().
Here is the caller graph for this function:| WMatrix< T >::operator Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > |
| WMatrix< T >::operator osg::Matrixd |
Compares two matrices and returns true if they are not equal.
| rhs | The right hand side of the comparison |
For parameter documentations see overloaded function.
Definition at line 427 of file WMatrix.h.
References WMatrix< T >::m_nbCols, and WValue< T >::operator!=().
Here is the call graph for this function:| T & WMatrix< T >::operator() | ( | size_t | i, |
| size_t | j | ||
| ) |
| const T & WMatrix< T >::operator() | ( | size_t | i, |
| size_t | j | ||
| ) | const |
Multiplication of the current matrix with andother matrix.
| rhs | The right hand side of the multiplication |
Definition at line 457 of file WMatrix.h.
References WMatrix< T >::getNbCols(), and WMatrix< T >::getNbRows().
Here is the call graph for this function:Multiplication with a vector.
| rhs | The right hand side of the multiplication |
Definition at line 475 of file WMatrix.h.
References WValue< T >::size().
Here is the call graph for this function:Multiplication with a vector.
| rhs | The right hand side of the multiplication |
Definition at line 490 of file WMatrix.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getRows().
Here is the call graph for this function:Assigns the argument WMatrix to this WMatrix.
| rhs | The right hand side of the assignment |
For parameter documentations see overloaded function.
Definition at line 437 of file WMatrix.h.
References WMatrix< T >::m_nbCols, and WValue< T >::operator=().
Here is the call graph for this function:Compares two matrices and returns true if they are equal.
| rhs | The right hand side of the comparison |
For parameter documentations see overloaded function.
Definition at line 417 of file WMatrix.h.
References WMatrix< T >::m_nbCols, and WValue< T >::operator==().
Here is the call graph for this function:
|
inline |
Resets the matrix components to zero.
Definition at line 208 of file WMatrix.h.
References WValue< T >::size().
Referenced by WSymmetricSphericalHarmonicTest::testCalcFRTMatrix(), WSymmetricSphericalHarmonicTest::testCalcSmoothingMatrix(), and WLinearAlgebraFunctionsTest::testComputeSVD().
Here is the call graph for this function:
Here is the caller graph for this function:Returns the transposed matrix.
Definition at line 447 of file WMatrix.h.
Referenced by WSymmetricSphericalHarmonic< T >::getSHFittingMatrix(), WSymmetricSphericalHarmonic< T >::getSHFittingMatrixForConstantSolidAngle(), WLinearAlgebraFunctionsTest::testComputeSVD(), WOSSIMHelperTest::testComputeSVD(), and WMatrixTest::testTransposed().
Here is the caller graph for this function:
|
private |
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().