OpenWalnut
1.5.0dev
|
A fixed size matrix class. More...
#include <WMatrixFixed.h>
Public Types | |
typedef ValueT | ValueType |
The integral type used in this matrix. More... | |
typedef ValueStoreT< ValueT, Rows, Cols > | ValueStoreType |
The storage container. More... | |
typedef WMatrixFixed< ValueT, Rows, Cols, ValueStoreT > | MatrixType |
The whole matrix as a type for lazy programmers. More... | |
Public Member Functions | |
size_t | getRows () const |
The number of rows. More... | |
size_t | getColumns () const |
The number of columns. More... | |
size_t | size () const |
The number of entries. More... | |
WMatrixFixed () | |
Default constructor. More... | |
WMatrixFixed (const ValueT &x, const ValueT &y) | |
Constructor easing the initialization of vectors. More... | |
WMatrixFixed (const ValueT &x, const ValueT &y, const ValueT &z) | |
Constructor easing the initialization of vectors. More... | |
WMatrixFixed (const ValueT &x, const ValueT &y, const ValueT &z, const ValueT &w) | |
Constructor easing the initialization of vectors. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
WMatrixFixed (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &m) | |
Copy construction casting the given value type. More... | |
WMatrixFixed (const WValue< ValueT > &val) | |
Casting constructor for WValue. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | setRowVector (size_t index, const WMatrixFixed< RHSValueT, Rows, 1, RHSValueStoreT > &vec) |
Set a row to a specific vector. More... | |
WMatrixFixed< ValueT, Cols, 1, ValueStoreT > | getRowVector (size_t index) const |
Get a vector containing a specific row. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | setColumnVector (size_t index, const WMatrixFixed< RHSValueT, Rows, 1, RHSValueStoreT > &vec) |
Set a column to a specific vector. More... | |
WMatrixFixed< ValueT, Rows, 1 > | getColumnVector (size_t index) const |
Get a vector containing a specific column. More... | |
operator Eigen::Matrix< ValueT, Rows, Cols > () const | |
Conversion to a Eigen3 Matrix of same size and type. More... | |
operator osg::Vec2d () const | |
Cast to OSG Vector. More... | |
operator osg::Vec2f () const | |
Cast to OSG Vector. More... | |
operator osg::Vec3d () const | |
Cast to OSG Vector. More... | |
operator osg::Vec3f () const | |
Cast to OSG Vector. More... | |
operator osg::Vec4d () const | |
Cast to OSG Vector. More... | |
operator osg::Vec4f () const | |
Cast to OSG Vector. More... | |
operator osg::Matrixd () const | |
Convert this matrix to a OSG Matrix of size 4x4. More... | |
template<typename TargetType > | |
TargetType | as () const |
A convenience function to cast the WMatrixFixed types to arbitrary other vector/matrix types that are supported by WMatrixFixed. More... | |
template<typename ResultValueType , ValueStoreTemplate ResultValueStore> | |
operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore > () const | |
Cast to matrix of same size with different value type. More... | |
WMatrixFixed (const Eigen::Matrix< ValueT, Rows, Cols > &m) | |
Creates a WMatrix from a given Eigen3 Matrix. More... | |
WMatrixFixed (const osg::Matrixd &m) | |
Creates a WMatrix from a given OSG 4x4 Matrix. More... | |
WMatrixFixed (const osg::Vec3f &m) | |
Creates a WMatrix from a given OSG Vector. More... | |
WMatrixFixed (const osg::Vec3d &m) | |
Creates a WMatrix from a given OSG Vector. More... | |
WMatrixFixed (const osg::Vec4f &m) | |
Creates a WMatrix from a given OSG Vector. More... | |
WMatrixFixed (const osg::Vec4d &m) | |
Creates a WMatrix from a given OSG Vector. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
MatrixType & | operator= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) |
Assigns the given argument matrix to this one. More... | |
template<typename RHSValueT , size_t RHSCols, ValueStoreTemplate RHSValueStoreT> | |
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, RHSCols, ValueStoreT > | operator* (const WMatrixFixed< RHSValueT, Cols, RHSCols, RHSValueStoreT > &rhs) const |
Matrix-Matrix multiplication. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | operator*= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) |
Matrix-Matrix multiplication with self-assignment. More... | |
template<typename RHSValueT > | |
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > | operator* (const RHSValueT &rhs) const |
Matrix-Scalar multiplication. More... | |
template<typename RHSValueT > | |
void | operator*= (const RHSValueT &rhs) |
Matrix-Scalar multiplication with self-assignment. More... | |
template<typename RHSValueT > | |
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > | operator/ (const RHSValueT &rhs) const |
Matrix-Scalar division. More... | |
template<typename RHSValueT > | |
void | operator/= (const RHSValueT &rhs) |
Matrix-Scalar division with self-assignmnet. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > | operator+ (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) const |
Matrix addition. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | operator+= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) |
Matrix addition with self-assignment. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > | operator- (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) const |
Matrix subtraction. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | operator-= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) throw () |
Matrix subtraction with self-assignment. More... | |
ValueT & | operator() (size_t row, size_t col) throw () |
Returns a reference to the component of an row and column in order to provide access to the component. More... | |
const ValueT & | operator() (size_t row, size_t col) const throw () |
Returns a reference to the component of an row and column in order to provide access to the component. More... | |
ValueT & | operator[] (size_t row) throw () |
Returns a reference to the component of the first column to provide access to the component. More... | |
const ValueT & | operator[] (size_t row) const throw () |
Returns a reference to the component of the first column to provide access to the component. More... | |
ValueT & | at (size_t row, size_t col) |
Returns a reference to the component of an row and column in order to provide access to the component. More... | |
const ValueT & | at (size_t row, size_t col) const |
Returns a const reference to the component of an row and column in order to provide access to the component. More... | |
ValueT & | x () throw () |
Access x element of vector. More... | |
const ValueT & | x () const throw () |
Access x element of vector. More... | |
ValueT & | y () throw () |
Access y element of vector. More... | |
const ValueT & | y () const throw () |
Access y element of vector. More... | |
ValueT & | z () throw () |
Access z element of vector. More... | |
const ValueT & | z () const throw () |
Access z element of vector. More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
bool | operator== (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) const throw () |
Compares two matrices and returns true if they are equal (component-wise). More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
bool | operator< (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) const throw () |
Compares two matrices and returns true if this is smaller than the specified one (component-wise). More... | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
bool | operator!= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) const throw () |
Compares two matrices and returns true if they are not equal. More... | |
Static Public Member Functions | |
static MatrixType | identity () |
Returns an identity matrix. More... | |
static MatrixType | zero () |
Returns a zero-initialized matrix. More... | |
template<typename RHSValueT , size_t RHSRows, size_t RHSCols, ValueStoreTemplate RHSValueStoreT> | |
static MatrixType | fromMatrix (const WMatrixFixed< RHSValueT, RHSRows, RHSCols, RHSValueStoreT > &src, size_t rowOffset=0, size_t colOffset=0) |
Copy construction allowing the creation of a WMatrixFixed by another matrix of different size. More... | |
template<typename RHSValueT , size_t RHSRows, size_t RHSCols, ValueStoreTemplate RHSValueStoreT> | |
static MatrixType | fromMatrices (const MatrixType &m, const WMatrixFixed< RHSValueT, RHSRows, RHSCols, RHSValueStoreT > &src, size_t rowOffset=0, size_t colOffset=0) |
Copy construction allowing the creation of a WMatrixFixed by another matrix of different size. More... | |
Private Member Functions | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | setValues (const RHSValueStoreT< RHSValueT, Rows, Cols > &values) |
Sets the new values. More... | |
Private Attributes | |
ValueStoreType | m_values |
The value array. More... | |
Friends | |
class | WMatrixFixedTest |
Access for test class. More... | |
template<typename ValueTT , size_t Rowss, size_t Colss, ValueStoreTemplate ValueStoreTT> | |
class | WMatrixFixed |
This is needed for access to the storage object of another matrix. More... | |
A fixed size matrix class.
This is the default type in OpenWalnut. You can easily convert this matrix to and from the Eigen3 types and OSG Types.
ValueT | The type of the values stored. Most of the operations, if multiple types are involved, use WTypeTraits to guess the better of both. |
Rows | Number of Rows |
Cols | Number of Columns |
ValueStoreT | The ValueStore handles the values and their access. Use special types here for a fine-grained access control or data-management |
Definition at line 149 of file WMatrixFixed.h.
typedef WMatrixFixed< ValueT, Rows, Cols, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::MatrixType |
The whole matrix as a type for lazy programmers.
Definition at line 176 of file WMatrixFixed.h.
typedef ValueStoreT< ValueT, Rows, Cols > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::ValueStoreType |
The storage container.
Definition at line 171 of file WMatrixFixed.h.
typedef ValueT WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::ValueType |
The integral type used in this matrix.
Definition at line 166 of file WMatrixFixed.h.
|
inline |
Default constructor.
The values are initialized with 0. Use the static methods zero(), identity() or any of the predefined transformations if an initialized matrix is wished.
Definition at line 216 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Constructor easing the initialization of vectors.
This won't compile if Cols != 1 and Rows != 2.
x | x coefficient |
y | y coefficient |
Definition at line 234 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[](), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y().
|
inline |
Constructor easing the initialization of vectors.
This won't compile if Cols != 1 and Rows != 3.
x | x coefficient |
y | y coefficient |
z | z coefficient |
Definition at line 249 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[](), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::z().
|
inline |
Constructor easing the initialization of vectors.
This won't compile if Cols != 1 and Rows != 4.
x | x coefficient |
y | y coefficient |
z | z coefficient |
w | w coefficient |
Definition at line 266 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[](), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::z().
|
inline |
Copy construction casting the given value type.
This is useful to create matrices with matrices using another value type.
RHSValueT | Value type of the given matrix to copy |
RHSValueStoreT | Valuestore type of the given matrix to copy |
m | the matrix to copy |
Definition at line 284 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values, and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setValues().
|
inline |
Casting constructor for WValue.
This won't compile if Cols != 1 and causes a runtime assertion if val.size() != Rows.
val | the WValue with the fitting size. |
Definition at line 295 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[](), and WValue< T >::size().
|
inline |
Creates a WMatrix from a given Eigen3 Matrix.
m | the Eigen3 matrix. |
Definition at line 640 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Creates a WMatrix from a given OSG 4x4 Matrix.
Will not compile if Rows != 4 or Cols != 4.
m | the OSG matrix. |
Definition at line 656 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Creates a WMatrix from a given OSG Vector.
Will not compile if Rows != 3 or Cols != 1.
m | the OSG vector. |
Definition at line 675 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inline |
Creates a WMatrix from a given OSG Vector.
Will not compile if Rows != 3 or Cols != 1.
m | the OSG vector. |
Definition at line 690 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inline |
Creates a WMatrix from a given OSG Vector.
Will not compile if Rows != 4 or Cols != 1.
m | the OSG vector. |
Definition at line 705 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inline |
Creates a WMatrix from a given OSG Vector.
Will not compile if Rows != 4 or Cols != 1.
m | the OSG vector. |
Definition at line 721 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inline |
A convenience function to cast the WMatrixFixed types to arbitrary other vector/matrix types that are supported by WMatrixFixed.
This method is mainly needed for ambiguities during type resolution, if the target methods signature allows several different vec/matrix types. Example: you have void do( osg::Vec3f v ) and void do( osg::Vec3d v ). If you do WVector3d myV; do( myV ); This is ambiguous since WVector3d can be casted to either osg::Vec3d AND Vec3f implicitly.
TargetType | the type needed (to cast to) |
Definition at line 614 of file WMatrixFixed.h.
|
inline |
Returns a reference to the component of an row and column in order to provide access to the component.
It does check for validity of the indices. Use operator() for avoiding this check.
row | the row, staring with 0 |
col | the column, starting with 0 |
WOutOfBounds | if the specified index is invalid |
Definition at line 1003 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()(), and string_utils::toString().
Referenced by WTrackingUtilityTest::buildTestData(), WThreadedTrackingFunctionTest::buildTestData(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getColumnVector(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getRowVector(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setColumnVector(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setRowVector(), WMatrixFixedTest::testAt(), WMatrixFixedTest::testGetColVector(), and WMatrixFixedTest::testTranspose().
|
inline |
Returns a const reference to the component of an row and column in order to provide access to the component.
It does check for validity of the indices. Use operator() for avoiding this check.
row | the row, staring with 0 |
col | the column, starting with 0 |
WOutOfBounds | if the specified index is invalid |
Definition at line 1026 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()(), and string_utils::toString().
|
inlinestatic |
Copy construction allowing the creation of a WMatrixFixed by another matrix of different size.
The specified source matrix gets copied into the area specified by its dimensions and the offset. On all other places, the specified reference matrix is used.
RHSValueT | Value type of the given matrix |
RHSRows | Number of rows of the given matrix. |
RHSCols | Number of cols of the given matrix. |
RHSValueStoreT | Value store of the given matrix. |
m | the reference matrix to use where src is not defined or used (due to offset) |
src | the matrix to copy |
rowOffset | row offset, defaults to 0 |
colOffset | col offset, defaults to 0 |
Definition at line 380 of file WMatrixFixed.h.
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::fromMatrix().
|
inlinestatic |
Copy construction allowing the creation of a WMatrixFixed by another matrix of different size.
Please see fromMatrices for more details, since this call is equivalent to fromMatrices( zero(), src, rowOffset, colOffset ).
RHSValueT | Value type of the given matrix |
RHSRows | Number of rows of the given matrix. |
RHSCols | Number of cols of the given matrix. |
RHSValueStoreT | Value store of the given matrix. |
src | the matrix to copy |
rowOffset | row offset, defaults to 0 |
colOffset | col offset, defaults to 0 |
Definition at line 356 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::fromMatrices(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::zero().
|
inline |
The number of columns.
Definition at line 193 of file WMatrixFixed.h.
Referenced by WMatrixFixedTest::testGetNbRowsAndCols().
|
inline |
Get a vector containing a specific column.
index | the index of the column |
Definition at line 477 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at().
Referenced by WMatrixFixedTest::testGetColVector().
|
inline |
The number of rows.
Definition at line 183 of file WMatrixFixed.h.
Referenced by WMatrix< T >::operator*(), and WMatrixFixedTest::testGetNbRowsAndCols().
|
inline |
Get a vector containing a specific row.
index | the index of the row |
Definition at line 440 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at().
Referenced by WMatrixFixedTest::testGetRowVector().
|
inlinestatic |
Returns an identity matrix.
Definition at line 310 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::zero().
Referenced by WManipulatorNormalize::getTransformationMatrix(), WManipulatorRotation::getTransformationMatrix(), WManipulatorScaling::getTransformationMatrix(), WManipulatorTranslation::getTransformationMatrix(), and WMDatasetManipulator::initMatrix().
|
inline |
Conversion to a Eigen3 Matrix of same size and type.
Definition at line 497 of file WMatrixFixed.h.
|
inline |
Convert this matrix to a OSG Matrix of size 4x4.
This compiles only for 4x4 WMatrix types.
Definition at line 587 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Cast to OSG Vector.
This will only compile for matrices with only one col and 2 rows.
Definition at line 515 of file WMatrixFixed.h.
|
inline |
Cast to OSG Vector.
This will only compile for matrices with only one col and 3 or 4 rows.
Definition at line 527 of file WMatrixFixed.h.
|
inline |
Cast to OSG Vector.
This will only compile for matrices with only one col and 3 or 4 rows.
Definition at line 539 of file WMatrixFixed.h.
|
inline |
Cast to OSG Vector.
This will only compile for matrices with only one col and 3 or 4 rows.
Definition at line 551 of file WMatrixFixed.h.
|
inline |
Cast to OSG Vector.
This will only compile for matrices with only one col and 4 rows.
Definition at line 563 of file WMatrixFixed.h.
|
inline |
Cast to OSG Vector.
This will only compile for matrices with only one col and 4 rows.
Definition at line 575 of file WMatrixFixed.h.
|
inline |
Cast to matrix of same size with different value type.
ResultValueType | resulting value type |
ResultValueStore | resulting value store |
Definition at line 628 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values, and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setValues().
|
inline |
Compares two matrices and returns true if they are not equal.
RHSValueT | the value type of the argument |
rhs | The right hand side of the comparison |
Definition at line 1167 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator==().
|
inline |
Returns a reference to the component of an row and column in order to provide access to the component.
It does not check for validity of the indices. Use at for this.
row | the row, staring with 0 |
col | the column, starting with 0 |
Definition at line 945 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values.
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at(), WMatrixFixed< double, 2, 1 >::operator Eigen::Matrix< double, Rows, Cols >(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Matrixd(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator*(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator+(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator-(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator<(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator==(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed().
|
inline |
Returns a reference to the component of an row and column in order to provide access to the component.
It does not check for validity of the indices. Use at for this.
row | the row, staring with 0 |
col | the column, starting with 0 |
Definition at line 959 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values.
|
inline |
Matrix-Scalar multiplication.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 809 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Matrix-Matrix multiplication.
The number of columns of this matrix and the rows of the other need to match.
RHSValueT | the integral type of the given matrix |
RHSCols | the number of columns of the given matrix. The number if rows must match the number of columns in this matrix |
rhs | the matrix |
Definition at line 766 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator/().
|
inline |
Matrix-Scalar multiplication with self-assignment.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 829 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=().
|
inline |
Matrix-Matrix multiplication with self-assignment.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 794 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=().
|
inline |
Matrix addition.
The number of columns and rows must be the same.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 872 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Matrix addition with self-assignment.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 892 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=().
|
inline |
Matrix subtraction.
The number of columns and rows must be the same.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 907 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Matrix subtraction with self-assignment.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 927 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=().
|
inline |
Matrix-Scalar division.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 844 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator*().
|
inline |
Matrix-Scalar division with self-assignmnet.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 857 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=().
|
inline |
Compares two matrices and returns true if this is smaller than the specified one (component-wise).
RHSValueT | the value type of the argument |
rhs | The right hand side of the comparison |
Definition at line 1144 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
|
inline |
Assigns the given argument matrix to this one.
If the types match, a reference is returned.
RHSValueT | the value type of the source matrix. |
rhs | The right hand side of the assignment |
Definition at line 745 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values, and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setValues().
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator*=(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator+=(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator-=(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator/=().
|
inline |
Compares two matrices and returns true if they are equal (component-wise).
RHSValueT | the value type of the argument |
rhs | The right hand side of the comparison |
Definition at line 1122 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator!=().
|
inline |
Returns a reference to the component of the first column to provide access to the component.
It does not check for validity of the indices. Use this for single-column matrices (i.e. vectors). For matrices with cols!=0, this will not compile.
row | the row, staring with 0 |
Definition at line 972 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values.
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::z().
|
inline |
Returns a reference to the component of the first column to provide access to the component.
It does not check for validity of the indices. Use this for single-column matrices (i.e. vectors). For matrices with cols!=0, this will not compile.
row | the row, staring with 0 |
Definition at line 986 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values.
|
inline |
Set a column to a specific vector.
RHSValueT | Value type of the given matrix |
ValueStoreT | Value store of the given matrix |
index | the index of the column you want to set |
vec | the values to set for the column |
Definition at line 462 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at().
Referenced by WMatrixFixedTest::testSetColVector().
|
inline |
Set a row to a specific vector.
RHSValueT | Value type of the given matrix |
ValueStoreT | Value store of the given matrix |
index | the index of the row you want to set |
vec | the values to set for the row |
Definition at line 425 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at().
Referenced by WMatrixFixedTest::testSetRowVector().
|
inlineprivate |
Sets the new values.
Always use this method for replacing values in this matrix.
values |
Definition at line 1185 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values.
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore >(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed().
|
inline |
The number of entries.
Definition at line 203 of file WMatrixFixed.h.
Referenced by WPrincipalComponentAnalysis::extractEigenData(), and WMReadSimpleTextLineData::load().
|
inline |
Access x element of vector.
Works only for matrices with Cols == 1.
Definition at line 1042 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
Referenced by WMClusterDisplayVoxels::dendrogramClick(), WMReadVIM::load(), WDataCreatorFiberParallel::operator()(), WDataCreatorFiberRandom::operator()(), WDataCreatorFiberStar::operator()(), WDataCreatorTorus< T >::operator()(), WMPickingDVR::pickHandler(), WMReadVCL::readData(), WMWriteTracts::savePOVRay(), WROIBox::updateGFX(), WROISphere::updateGFX(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed().
|
inline |
Access x element of vector.
Works only for matrices with Cols == 1.
Definition at line 1054 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inline |
Access y element of vector.
Works only for matrices with Cols == 1.
Definition at line 1066 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
Referenced by WMClusterDisplayVoxels::dendrogramClick(), WMReadVIM::load(), WDataCreatorFiberParallel::operator()(), WDataCreatorFiberRandom::operator()(), WDataCreatorFiberStar::operator()(), WDataCreatorTorus< T >::operator()(), WMPickingDVR::pickHandler(), WMReadVCL::readData(), WMWriteTracts::savePOVRay(), WROIBox::updateGFX(), WROISphere::updateGFX(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed().
|
inline |
Access y element of vector.
Works only for matrices with Cols == 1.
Definition at line 1078 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inline |
Access z element of vector.
Works only for matrices with Cols == 1.
Definition at line 1090 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
Referenced by WMReadVIM::load(), WDataCreatorFiberParallel::operator()(), WDataCreatorFiberRandom::operator()(), WDataCreatorFiberStar::operator()(), WDataCreatorTorus< T >::operator()(), WMReadVCL::readData(), WMWriteTracts::savePOVRay(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed().
|
inline |
Access z element of vector.
Works only for matrices with Cols == 1.
Definition at line 1102 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[]().
|
inlinestatic |
Returns a zero-initialized matrix.
Definition at line 325 of file WMatrixFixed.h.
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::fromMatrix(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::identity().
|
friend |
This is needed for access to the storage object of another matrix.
Definition at line 156 of file WMatrixFixed.h.
|
friend |
Access for test class.
Definition at line 152 of file WMatrixFixed.h.
|
private |
The value array.
Stored row-major. Never access this directly. Always use operator(). This allows us to later-on use another storing order.
Definition at line 1177 of file WMatrixFixed.h.
Referenced by WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore >(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator=(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[](), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setValues(), WMatrixFixedTest::testAccessOperator(), WMatrixFixedTest::testAssignmentDifferentStorage(), and WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed().