OpenWalnut 1.2.5
|
A fixed size matrix class. More...
#include <WMatrixFixed.h>
Public Types | |
typedef ValueT | ValueType |
The integral type used in this matrix. | |
typedef ValueStoreT< ValueT, Rows, Cols > | ValueStoreType |
The storage container. | |
typedef WMatrixFixed< ValueT, Rows, Cols, ValueStoreT > | MatrixType |
The whole matrix as a type for lazy programmers. | |
Public Member Functions | |
size_t | getRows () const |
The number of rows. | |
size_t | getColumns () const |
The number of columns. | |
WMatrixFixed () | |
Default constructor. | |
WMatrixFixed (const ValueT &x, const ValueT &y, const ValueT &z) | |
Constructor easing the initialization of vectors. | |
WMatrixFixed (const ValueT &x, const ValueT &y, const ValueT &z, const ValueT &w) | |
Constructor easing the initialization of vectors. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
WMatrixFixed (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &m) | |
Copy construction casting the given value type. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | setRowVector (size_t index, const WMatrixFixed< RHSValueT, Rows, 1, RHSValueStoreT > &vec) |
Set a row to a specific vector. | |
WMatrixFixed< ValueT, Cols, 1, ValueStoreT > | getRowVector (size_t index) const |
Get a vector containing a specific row. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | setColumnVector (size_t index, const WMatrixFixed< RHSValueT, Rows, 1, RHSValueStoreT > &vec) |
Set a column to a specific vector. | |
WMatrixFixed< ValueT, Rows, 1 > | getColumnVector (size_t index) const |
Get a vector containing a specific column. | |
operator Eigen::Matrix< ValueT, Rows, Cols > () const | |
Conversion to a Eigen3 Matrix of same size and type. | |
operator osg::Vec2d () const | |
Cast to OSG Vector. | |
operator osg::Vec2f () const | |
Cast to OSG Vector. | |
operator osg::Vec3d () const | |
Cast to OSG Vector. | |
operator osg::Vec3f () const | |
Cast to OSG Vector. | |
operator osg::Vec4d () const | |
Cast to OSG Vector. | |
operator osg::Vec4f () const | |
Cast to OSG Vector. | |
operator osg::Matrixd () const | |
Convert this matrix to a OSG Matrix of size 4x4. | |
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. | |
template<typename ResultValueType , ValueStoreTemplate ResultValueStore> | |
operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore > () const | |
Cast to matrix of same size with different value type. | |
WMatrixFixed (const Eigen::Matrix< ValueT, Rows, Cols > &m) | |
Creates a WMatrix from a given Eigen3 Matrix. | |
WMatrixFixed (const osg::Matrixd &m) | |
Creates a WMatrix from a given OSG 4x4 Matrix. | |
WMatrixFixed (const osg::Vec3f &m) | |
Creates a WMatrix from a given OSG Vector. | |
WMatrixFixed (const osg::Vec3d &m) | |
Creates a WMatrix from a given OSG Vector. | |
WMatrixFixed (const osg::Vec4f &m) | |
Creates a WMatrix from a given OSG Vector. | |
WMatrixFixed (const osg::Vec4d &m) | |
Creates a WMatrix from a given OSG Vector. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
MatrixType & | operator= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) |
Assigns the given argument matrix to this one. | |
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. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | operator*= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) |
Matrix-Matrix multiplication with self-assignment. | |
template<typename RHSValueT > | |
WMatrixFixed< typename WTypeTraits::TypePromotion < ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > | operator* (const RHSValueT &rhs) const |
Matrix-Scalar multiplication. | |
template<typename RHSValueT > | |
void | operator*= (const RHSValueT &rhs) |
Matrix-Scalar multiplication with self-assignment. | |
template<typename RHSValueT > | |
WMatrixFixed< typename WTypeTraits::TypePromotion < ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > | operator/ (const RHSValueT &rhs) const |
Matrix-Scalar division. | |
template<typename RHSValueT > | |
void | operator/= (const RHSValueT &rhs) |
Matrix-Scalar division with self-assignmnet. | |
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. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | operator+= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) |
Matrix addition with self-assignment. | |
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. | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | operator-= (const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > &rhs) throw () |
Matrix subtraction with self-assignment. | |
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. | |
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. | |
ValueT & | operator[] (size_t row) throw () |
Returns a reference to the component of the first column to provide access to the component. | |
const ValueT & | operator[] (size_t row) const throw () |
Returns a reference to the component of the first column to provide access to the component. | |
ValueT & | at (size_t row, size_t col) throw ( WOutOfBounds ) |
Returns a reference to the component of an row and column in order to provide access to the component. | |
const ValueT & | at (size_t row, size_t col) const throw ( WOutOfBounds ) |
Returns a const reference to the component of an row and column in order to provide access to the component. | |
ValueT & | x () throw () |
Access x element of vector. | |
const ValueT & | x () const throw () |
Access x element of vector. | |
ValueT & | y () throw () |
Access y element of vector. | |
const ValueT & | y () const throw () |
Access y element of vector. | |
ValueT & | z () throw () |
Access z element of vector. | |
const ValueT & | z () const throw () |
Access z element of vector. | |
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). | |
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). | |
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. | |
Static Public Member Functions | |
static MatrixType | identity () |
Returns an identity matrix. | |
static MatrixType | zero () |
Returns a zero-initialized matrix. | |
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. | |
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. | |
Private Member Functions | |
template<typename RHSValueT , ValueStoreTemplate RHSValueStoreT> | |
void | setValues (const RHSValueStoreT< RHSValueT, Rows, Cols > &values) |
Sets the new values. | |
Private Attributes | |
ValueStoreType | m_values |
The value array. | |
Friends | |
class | WMatrixFixedTest |
the test is a friend | |
class | WMatrixFixed |
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 146 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 174 of file WMatrixFixed.h.
typedef ValueStoreT< ValueT, Rows, Cols > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::ValueStoreType |
The storage container.
Definition at line 169 of file WMatrixFixed.h.
typedef ValueT WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::ValueType |
The integral type used in this matrix.
Definition at line 164 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | ) | [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 204 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const ValueT & | x, |
const ValueT & | y, | ||
const ValueT & | z | ||
) | [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 223 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const ValueT & | x, |
const ValueT & | y, | ||
const ValueT & | z, | ||
const ValueT & | w | ||
) | [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 240 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | m | ) | [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 258 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const Eigen::Matrix< ValueT, Rows, Cols > & | m | ) | [inline] |
Creates a WMatrix from a given Eigen3 Matrix.
m | the Eigen3 matrix. |
Definition at line 598 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const osg::Matrixd & | m | ) | [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 614 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const osg::Vec3f & | m | ) | [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 633 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const osg::Vec3d & | m | ) | [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 648 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const osg::Vec4f & | m | ) | [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 663 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::WMatrixFixed | ( | const osg::Vec4d & | m | ) | [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 679 of file WMatrixFixed.h.
TargetType WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::as | ( | ) | const [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 572 of file WMatrixFixed.h.
ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at | ( | size_t | row, |
size_t | col | ||
) | throw ( WOutOfBounds ) [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 961 of file WMatrixFixed.h.
Referenced by WThreadedTrackingFunctionTest::buildTestData(), WTrackingUtilityTest::buildTestData(), WMatrixFixed< double, 4, 4 >::getColumnVector(), WMatrixFixed< double, 4, 4 >::getRowVector(), WMatrixFixed< double, 4, 4 >::setColumnVector(), WMatrixFixed< double, 4, 4 >::setRowVector(), WMatrixFixedTest::testAt(), WMatrixFixedTest::testGetColVector(), and WMatrixFixedTest::testTranspose().
const ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::at | ( | size_t | row, |
size_t | col | ||
) | const throw ( WOutOfBounds ) [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 984 of file WMatrixFixed.h.
static MatrixType WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::fromMatrices | ( | const MatrixType & | m, |
const WMatrixFixed< RHSValueT, RHSRows, RHSCols, RHSValueStoreT > & | src, | ||
size_t | rowOffset = 0 , |
||
size_t | colOffset = 0 |
||
) | [inline, static] |
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 338 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::fromMatrix().
static MatrixType WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::fromMatrix | ( | const WMatrixFixed< RHSValueT, RHSRows, RHSCols, RHSValueStoreT > & | src, |
size_t | rowOffset = 0 , |
||
size_t | colOffset = 0 |
||
) | [inline, static] |
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 314 of file WMatrixFixed.h.
size_t WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getColumns | ( | ) | const [inline] |
The number of columns.
Definition at line 191 of file WMatrixFixed.h.
Referenced by WMatrixFixedTest::testGetNbRowsAndCols().
WMatrixFixed< ValueT, Rows, 1 > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getColumnVector | ( | size_t | index | ) | const [inline] |
Get a vector containing a specific column.
index | the index of the column |
Definition at line 435 of file WMatrixFixed.h.
Referenced by WMatrixFixedTest::testGetColVector().
size_t WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getRows | ( | ) | const [inline] |
The number of rows.
Definition at line 181 of file WMatrixFixed.h.
Referenced by WMatrix< T >::operator*(), and WMatrixFixedTest::testGetNbRowsAndCols().
WMatrixFixed< ValueT, Cols, 1, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::getRowVector | ( | size_t | index | ) | const [inline] |
Get a vector containing a specific row.
index | the index of the row |
Definition at line 398 of file WMatrixFixed.h.
Referenced by WMatrixFixedTest::testGetRowVector().
static MatrixType WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::identity | ( | ) | [inline, static] |
Returns an identity matrix.
Definition at line 268 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator Eigen::Matrix< ValueT, Rows, Cols > | ( | ) | const [inline] |
Conversion to a Eigen3 Matrix of same size and type.
Definition at line 455 of file WMatrixFixed.h.
References WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator()().
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Matrixd | ( | ) | const [inline] |
Convert this matrix to a OSG Matrix of size 4x4.
This compiles only for 4x4 WMatrix types.
Definition at line 545 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Vec2d | ( | ) | const [inline] |
Cast to OSG Vector.
This will only compile for matrices with only one col and 2 rows.
Definition at line 473 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Vec2f | ( | ) | const [inline] |
Cast to OSG Vector.
This will only compile for matrices with only one col and 3 or 4 rows.
Definition at line 485 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Vec3d | ( | ) | const [inline] |
Cast to OSG Vector.
This will only compile for matrices with only one col and 3 or 4 rows.
Definition at line 497 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Vec3f | ( | ) | const [inline] |
Cast to OSG Vector.
This will only compile for matrices with only one col and 3 or 4 rows.
Definition at line 509 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Vec4d | ( | ) | const [inline] |
Cast to OSG Vector.
This will only compile for matrices with only one col and 4 rows.
Definition at line 521 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator osg::Vec4f | ( | ) | const [inline] |
Cast to OSG Vector.
This will only compile for matrices with only one col and 4 rows.
Definition at line 533 of file WMatrixFixed.h.
WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore > | ( | ) | const [inline] |
Cast to matrix of same size with different value type.
ResultValueType | resulting value type |
ResultValueStore | resulting value store |
Definition at line 586 of file WMatrixFixed.h.
bool WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator!= | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | const throw () [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 1125 of file WMatrixFixed.h.
ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator() | ( | size_t | row, |
size_t | col | ||
) | throw () [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 903 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::at(), WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator Eigen::Matrix< ValueT, Rows, Cols >(), WMatrixFixed< double, 4, 4 >::operator osg::Matrixd(), WMatrixFixed< double, 4, 4 >::operator*(), WMatrixFixed< double, 4, 4 >::operator+(), WMatrixFixed< double, 4, 4 >::operator-(), WMatrixFixed< double, 4, 4 >::operator<(), WMatrixFixed< double, 4, 4 >::operator==(), and WMatrixFixed< double, 4, 4 >::WMatrixFixed().
const ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator() | ( | size_t | row, |
size_t | col | ||
) | const throw () [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 917 of file WMatrixFixed.h.
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, RHSCols, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator* | ( | const WMatrixFixed< RHSValueT, Cols, RHSCols, RHSValueStoreT > & | rhs | ) | const [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 724 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::operator/().
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator* | ( | const RHSValueT & | rhs | ) | const [inline] |
Matrix-Scalar multiplication.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 767 of file WMatrixFixed.h.
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator*= | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | [inline] |
Matrix-Matrix multiplication with self-assignment.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 752 of file WMatrixFixed.h.
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator*= | ( | const RHSValueT & | rhs | ) | [inline] |
Matrix-Scalar multiplication with self-assignment.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 787 of file WMatrixFixed.h.
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator+ | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | const [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 830 of file WMatrixFixed.h.
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator+= | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | [inline] |
Matrix addition with self-assignment.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 850 of file WMatrixFixed.h.
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator- | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | const [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 865 of file WMatrixFixed.h.
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator-= | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | throw () [inline] |
Matrix subtraction with self-assignment.
RHSValueT | the integral type of the given matrix |
rhs | the matrix |
Definition at line 885 of file WMatrixFixed.h.
WMatrixFixed< typename WTypeTraits::TypePromotion< ValueT, RHSValueT >::Result, Rows, Cols, ValueStoreT > WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator/ | ( | const RHSValueT & | rhs | ) | const [inline] |
Matrix-Scalar division.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 802 of file WMatrixFixed.h.
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator/= | ( | const RHSValueT & | rhs | ) | [inline] |
Matrix-Scalar division with self-assignmnet.
RHSValueT | the integral type of the given scalar |
rhs | the scalar |
Definition at line 815 of file WMatrixFixed.h.
bool WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator< | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | const throw () [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 1102 of file WMatrixFixed.h.
MatrixType& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator= | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | [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 703 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::operator*=(), WMatrixFixed< double, 4, 4 >::operator+=(), WMatrixFixed< double, 4, 4 >::operator-=(), and WMatrixFixed< double, 4, 4 >::operator/=().
bool WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator== | ( | const WMatrixFixed< RHSValueT, Rows, Cols, RHSValueStoreT > & | rhs | ) | const throw () [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 1080 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::operator!=().
ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[] | ( | size_t | row | ) | throw () [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 930 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::WMatrixFixed(), WMatrixFixed< double, 4, 4 >::x(), WMatrixFixed< double, 4, 4 >::y(), and WMatrixFixed< double, 4, 4 >::z().
const ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::operator[] | ( | size_t | row | ) | const throw () [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 944 of file WMatrixFixed.h.
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setColumnVector | ( | size_t | index, |
const WMatrixFixed< RHSValueT, Rows, 1, RHSValueStoreT > & | vec | ||
) | [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 420 of file WMatrixFixed.h.
Referenced by WMatrixFixedTest::testSetColVector().
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setRowVector | ( | size_t | index, |
const WMatrixFixed< RHSValueT, Rows, 1, RHSValueStoreT > & | vec | ||
) | [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 383 of file WMatrixFixed.h.
Referenced by WMatrixFixedTest::testSetRowVector().
void WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::setValues | ( | const RHSValueStoreT< RHSValueT, Rows, Cols > & | values | ) | [inline, private] |
Sets the new values.
Always use this method for replacing values in this matrix.
values |
Definition at line 1143 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore >(), WMatrixFixed< double, 4, 4 >::operator=(), and WMatrixFixed< double, 4, 4 >::WMatrixFixed().
ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x | ( | ) | throw () [inline] |
Access x element of vector.
Works only for matrices with Cols == 1.
Definition at line 1000 of file WMatrixFixed.h.
Referenced by WROISphere::updateGFX(), WROIBox::updateGFX(), and WMatrixFixed< double, 4, 4 >::WMatrixFixed().
const ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::x | ( | ) | const throw () [inline] |
Access x element of vector.
Works only for matrices with Cols == 1.
Definition at line 1012 of file WMatrixFixed.h.
ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y | ( | ) | throw () [inline] |
Access y element of vector.
Works only for matrices with Cols == 1.
Definition at line 1024 of file WMatrixFixed.h.
Referenced by WROISphere::updateGFX(), WROIBox::updateGFX(), and WMatrixFixed< double, 4, 4 >::WMatrixFixed().
const ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::y | ( | ) | const throw () [inline] |
Access y element of vector.
Works only for matrices with Cols == 1.
Definition at line 1036 of file WMatrixFixed.h.
const ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::z | ( | ) | const throw () [inline] |
Access z element of vector.
Works only for matrices with Cols == 1.
Definition at line 1060 of file WMatrixFixed.h.
ValueT& WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::z | ( | ) | throw () [inline] |
Access z element of vector.
Works only for matrices with Cols == 1.
Definition at line 1048 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::WMatrixFixed().
static MatrixType WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::zero | ( | ) | [inline, static] |
Returns a zero-initialized matrix.
Definition at line 283 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::fromMatrix(), and WMatrixFixed< double, 4, 4 >::identity().
friend class WMatrixFixedTest [friend] |
the test is a friend
Definition at line 149 of file WMatrixFixed.h.
ValueStoreType WMatrixFixed< ValueT, Rows, Cols, ValueStoreT >::m_values [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 1135 of file WMatrixFixed.h.
Referenced by WMatrixFixed< double, 4, 4 >::operator WMatrixFixed< ResultValueType, Rows, Cols, ResultValueStore >(), WMatrixFixed< double, 4, 4 >::operator()(), WMatrixFixed< double, 4, 4 >::operator=(), WMatrixFixed< double, 4, 4 >::operator[](), WMatrixFixed< double, 4, 4 >::setValues(), WMatrixFixedTest::testAccessOperator(), WMatrixFixedTest::testAssignmentDifferentStorage(), and WMatrixFixed< double, 4, 4 >::WMatrixFixed().