OpenWalnut
1.5.0dev
|
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. 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().
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().
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().
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().
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!=().
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().
Multiplication with a vector.
rhs | The right hand side of the multiplication |
Definition at line 475 of file WMatrix.h.
References WValue< T >::size().
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().
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=().
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==().
|
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().
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().
|
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().