OpenWalnut  1.4.0
Public Member Functions | Private Member Functions | Private Attributes
WMatrix< T > Class Template Reference

Matrix template class with variable number of rows and columns. More...

#include <WMatrix.h>

+ Inheritance diagram for WMatrix< T >:

List of all members.

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.
WMatrixmakeIdentity ()
 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.
WMatrixoperator= (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).

Detailed Description

template<typename T>
class WMatrix< T >

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.

Definition at line 43 of file WMatrix.h.


Constructor & Destructor Documentation

template<typename T >
WMatrix< T >::WMatrix ( size_t  n) [explicit]

Produces a square matrix with the given number of components.

The components will be set to zero if T is a type representing numbers.

Parameters:
nNumber of cols and rows in the matrix

Definition at line 242 of file WMatrix.h.

References WMatrix< T >::m_nbCols.

template<typename T >
WMatrix< T >::WMatrix ( size_t  nbRows,
size_t  nbCols 
)

Produces a matrix with the given number of components.

The components will be set to zero if T is a type representing numbers.

Parameters:
nbRowsnumber of rows in the matrix
nbColsnumber of columns in the matrix

Definition at line 248 of file WMatrix.h.

References WMatrix< T >::m_nbCols.

template<typename T >
WMatrix< T >::WMatrix ( const WMatrix< T > &  newMatrix)

Produces a matrix as copy of the one given as parameter.

Parameters:
newMatrixThe matrix to be copied.

Definition at line 258 of file WMatrix.h.

References WMatrix< T >::m_nbCols.

template<typename T >
WMatrix< T >::WMatrix ( const WMatrix4d newMatrix)

Copies the specified 4x4 matrix.

Parameters:
newMatrixthe matrix to copy

Definition at line 264 of file WMatrix.h.

References WMatrix< T >::m_nbCols.

template<typename T >
WMatrix< T >::WMatrix ( const Eigen::MatrixXd &  newMatrix)

Copies the specified Eigen::MatrixXd.

Parameters:
newMatrixthe Eigen::MatrixXd matrix to copy

Definition at line 277 of file WMatrix.h.

template<typename T >
WMatrix< T >::WMatrix ( const Eigen::MatrixXf &  newMatrix)

Copies the specified Eigen::MatrixXf.

Parameters:
newMatrixthe Eigen::MatrixXf matrix to copy

Definition at line 283 of file WMatrix.h.

template<typename T >
WMatrix< T >::WMatrix ( const Eigen::MatrixXi &  newMatrix)

Copies the specified Eigen::MatrixXi.

Parameters:
newMatrixthe Eigen::MatrixXi matrix to copy

Definition at line 289 of file WMatrix.h.


Member Function Documentation

template<typename T >
template<typename EigenDataType >
void WMatrix< T >::copyFromEigenMatrix ( const Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > &  newMatrix) [private]

This function is used by the constructors that have the different Eigen::MatrixX types as parameter.

Template Parameters:
EigenDataTypeThe data type which is used by the Eigen matrix.
Parameters:
newMatrixThe source matrix.

Definition at line 531 of file WMatrix.h.

template<typename T >
size_t WMatrix< T >::getNbCols ( ) const
template<typename T >
size_t WMatrix< T >::getNbRows ( ) const
template<typename T>
bool WMatrix< T >::isIdentity ( delta = T( 0.0 )) const

Returns true if the matrix is a identity matrix.

Parameters:
delta- tolerance parameter when checking the values.
Returns:
true for identity matrixes, otherwise false.

Definition at line 507 of file WMatrix.h.

Referenced by WMatrixTest::testIsIdentity().

template<typename T >
bool WMatrix< T >::isSquare ( ) const

Returns true if the matrix is a square matrix.

Returns:
true for square matrixes, otherwise false.

Definition at line 502 of file WMatrix.h.

template<typename T >
WMatrix< T > & WMatrix< T >::makeIdentity ( )
template<typename T >
template<typename EigenDataType >
WMatrix< T >::operator Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > ( ) const

Cast this matrix to an Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >() matrix.

Template Parameters:
EigenDataTypeData type of Eigen matrix.
Returns:
casted matrix.

Definition at line 335 of file WMatrix.h.

template<typename T >
WMatrix< T >::operator osg::Matrixd ( ) const

Cast this matrix to an 4x4 osg matrix if it is a 4x4 matrix.

Returns:
casted matrix.

Definition at line 310 of file WMatrix.h.

template<typename T >
WMatrix< T >::operator WMatrix4d ( ) const

Cast this matrix to an 4x matrix if it is a 4x4 matrix.

Returns:
casted matrix

Definition at line 295 of file WMatrix.h.

template<typename T >
bool WMatrix< T >::operator!= ( const WMatrix< T > &  rhs) const

Compares two matrices and returns true if they are not equal.

Parameters:
rhsThe right hand side of the comparison
Returns:
Are the matrices NOT equal?
Parameters:
rhsThe right hand side of the comparison

Definition at line 425 of file WMatrix.h.

References WMatrix< T >::m_nbCols, and WValue< T >::operator!=().

template<typename T >
T & WMatrix< 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.

Parameters:
irow
jcolumn
Returns:
A reference to the component (i,j)
Parameters:
irow
jcolumn

Definition at line 394 of file WMatrix.h.

template<typename T >
const T & WMatrix< 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.

Parameters:
irow
jcolumn
Returns:
A const reference to the component (i,j)
Parameters:
irow
jcolumn

Definition at line 406 of file WMatrix.h.

template<typename T >
WMatrix< T > WMatrix< T >::operator* ( const WMatrix< T > &  rhs) const

Multiplication of the current matrix with andother matrix.

Parameters:
rhsThe right hand side of the multiplication
Returns:
The product of the two matrices.

Definition at line 454 of file WMatrix.h.

References WMatrix< T >::getNbCols(), and WMatrix< T >::getNbRows().

template<typename T>
WValue< T > WMatrix< T >::operator* ( const WValue< T > &  rhs) const

Multiplication with a vector.

Parameters:
rhsThe right hand side of the multiplication
Returns:
The product of the matrix and the vector.

Reimplemented from WValue< T >.

Definition at line 472 of file WMatrix.h.

References WValue< T >::size().

template<typename T>
WVector3d WMatrix< T >::operator* ( const WVector3d rhs) const

Multiplication with a vector.

Parameters:
rhsThe right hand side of the multiplication
Returns:
The product of the matrix and the 3D vector.

Definition at line 487 of file WMatrix.h.

References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getRows().

template<typename T >
WMatrix< T > & WMatrix< T >::operator= ( const WMatrix< T > &  rhs)

Assigns the argument WMatrix to this WMatrix.

Parameters:
rhsThe right hand side of the assignment
Returns:
A reference to the left hand side of the assignment (i.e. the current object).
Parameters:
rhsThe right hand side of the assignment

Definition at line 434 of file WMatrix.h.

References WMatrix< T >::m_nbCols, and WValue< T >::operator=().

template<typename T >
bool WMatrix< T >::operator== ( const WMatrix< T > &  rhs) const

Compares two matrices and returns true if they are equal.

Parameters:
rhsThe right hand side of the comparison
Returns:
Are the matrices equal?
Parameters:
rhsThe right hand side of the comparison

Definition at line 416 of file WMatrix.h.

References WMatrix< T >::m_nbCols, and WValue< T >::operator==().

template<typename T>
void WMatrix< T >::setZero ( ) [inline]

Resets the matrix components to zero.

Definition at line 208 of file WMatrix.h.

Referenced by WSymmetricSphericalHarmonicTest::testCalcFRTMatrix(), and WSymmetricSphericalHarmonicTest::testCalcSmoothingMatrix().

template<typename T >
WMatrix< T > WMatrix< T >::transposed ( ) const

Returns the transposed matrix.

Returns:
Transposed version of the current matrix.

Definition at line 444 of file WMatrix.h.

Referenced by WSymmetricSphericalHarmonic< T >::getSHFittingMatrix(), WSymmetricSphericalHarmonic< T >::getSHFittingMatrixForConstantSolidAngle(), WOSSIMHelperTest::testComputeSVD(), and WMatrixTest::testTransposed().


Member Data Documentation

template<typename T>
size_t WMatrix< T >::m_nbCols [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().


The documentation for this class was generated from the following file: