| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/mat.h>
Public Types | |
| typedef T | value_type |
| STL style value_type declaration. | |
Public Member Functions | |
| Mat (T diag=T(1)) | |
| Initialize the diagonal of the matrix with the given value. | |
| Mat (Vec< DIM, T > const &diag) | |
| Initialize the diagonal of the matrix with the values from the given vector. | |
| Mat (Vec< 4, T > const &column0, Vec< 4, T > const &column1, Vec< 4, T > const &column2, Vec< 4, T > const &column3) | |
| Initialize all 4 columns of the matrix with individual column values taken from 4 vectors. | |
| Mat (T c0r0, T c0r1, T c0r2, T c0r3, T c1r0, T c1r1, T c1r2, T c1r3, T c2r0, T c2r1, T c2r2, T c2r3, T c3r0, T c3r1, T c3r2, T c3r3) | |
| Initialize all 4x4 components of the matrix with individual values in column major order. | |
| Mat (Vec< 3, T > const &column0, Vec< 3, T > const &column1, Vec< 3, T > const &column2) | |
| Initialize all 3 columns of the matrix with individual column values taken from 3 vectors. | |
| Mat (T c0r0, T c0r1, T c0r2, T c1r0, T c1r1, T c1r2, T c2r0, T c2r1, T c2r2) | |
| Initialize all 3x3 components of the matrix with individual values in column major order. | |
| Mat (Vec< 2, T > const &column0, Vec< 2, T > const &column1) | |
| Initialize all 2 columns of the matrix with individual column values taken from 2 vectors. | |
| Mat (T c0r0, T c0r1, T c1r0, T c1r1) | |
| Initialize all 2x2 components of the matrix with individual values in column major order. | |
| template<unsigned int DIM2, typename S> | |
| Mat (Mat< DIM2, S > const &other) | |
| Copy constructor with type conversion from type S to type T. | |
| Vec< DIM, T > const & | operator[] (size_t column) const |
| Gives direct read access to the column-th column of the matrix. | |
| Vec< DIM, T > & | operator[] (size_t column) |
| Gives direct read/write access to the column-th column of the matrix. | |
| T | element (size_t column, size_t row) const |
| Gives direct read access to the element of the matrix. | |
| T & | element (size_t column, size_t row) |
| Gives direct read/write access to the element of the matrix. | |
| Vec< DIM, T > const & | column (size_t column) const |
| Gives read access to the column-th column of the matrix. | |
| Vec< DIM, T > | row (size_t row) const |
| Gives read access to the row-th row of the matrix. | |
| Mat< DIM-1, T > | minor (size_t column, size_t row) const |
| Returns the minor matrix of x, i.e., the matrix without the given column and row. | |
| bool | operator== (Mat< DIM, T > const &other) const |
| Operator ==. | |
| bool | operator< (Mat< DIM, T > const &other) const |
| Operator < (lexicographic ordering of the vector columns). | |
| Mat< DIM, T > & | operator+= (Mat< DIM, T > const &other) |
| Operator +=. | |
| Mat< DIM, T > & | operator-= (Mat< DIM, T > const &other) |
| Operator -=. | |
| Mat< DIM, T > & | operator*= (Mat< DIM, T > const &mat) |
| Operator *=. | |
Implementation is based on GLSL found here: http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdf
| typedef T VRS::Mat< DIM, T >::value_type |
STL style value_type declaration.
Initialize the diagonal of the matrix with the given value.
| VRS::Mat< DIM, T >::Mat | ( | Vec< DIM, T > const & | diag | ) | [inline, explicit] |
Initialize the diagonal of the matrix with the values from the given vector.
| VRS::Mat< DIM, T >::Mat | ( | Vec< 4, T > const & | column0, | |
| Vec< 4, T > const & | column1, | |||
| Vec< 4, T > const & | column2, | |||
| Vec< 4, T > const & | column3 | |||
| ) | [inline] |
Initialize all 4 columns of the matrix with individual column values taken from 4 vectors.
| VRS::Mat< DIM, T >::Mat | ( | T | c0r0, | |
| T | c0r1, | |||
| T | c0r2, | |||
| T | c0r3, | |||
| T | c1r0, | |||
| T | c1r1, | |||
| T | c1r2, | |||
| T | c1r3, | |||
| T | c2r0, | |||
| T | c2r1, | |||
| T | c2r2, | |||
| T | c2r3, | |||
| T | c3r0, | |||
| T | c3r1, | |||
| T | c3r2, | |||
| T | c3r3 | |||
| ) | [inline] |
Initialize all 4x4 components of the matrix with individual values in column major order.
| VRS::Mat< DIM, T >::Mat | ( | Vec< 3, T > const & | column0, | |
| Vec< 3, T > const & | column1, | |||
| Vec< 3, T > const & | column2 | |||
| ) | [inline] |
Initialize all 3 columns of the matrix with individual column values taken from 3 vectors.
| VRS::Mat< DIM, T >::Mat | ( | T | c0r0, | |
| T | c0r1, | |||
| T | c0r2, | |||
| T | c1r0, | |||
| T | c1r1, | |||
| T | c1r2, | |||
| T | c2r0, | |||
| T | c2r1, | |||
| T | c2r2 | |||
| ) | [inline] |
Initialize all 3x3 components of the matrix with individual values in column major order.
| VRS::Mat< DIM, T >::Mat | ( | Vec< 2, T > const & | column0, | |
| Vec< 2, T > const & | column1 | |||
| ) | [inline] |
Initialize all 2 columns of the matrix with individual column values taken from 2 vectors.
| VRS::Mat< DIM, T >::Mat | ( | T | c0r0, | |
| T | c0r1, | |||
| T | c1r0, | |||
| T | c1r1 | |||
| ) | [inline] |
Initialize all 2x2 components of the matrix with individual values in column major order.
| VRS::Mat< DIM, T >::Mat | ( | Mat< DIM2, S > const & | other | ) | [inline, explicit] |
Copy constructor with type conversion from type S to type T.
Missing diagonal elements will be initialized by 1, other missing elements will be initialized with 0.
| Vec<DIM, T> const& VRS::Mat< DIM, T >::operator[] | ( | size_t | column | ) | const [inline] |
Gives direct read access to the column-th column of the matrix.
| Vec<DIM, T>& VRS::Mat< DIM, T >::operator[] | ( | size_t | column | ) | [inline] |
Gives direct read/write access to the column-th column of the matrix.
| T VRS::Mat< DIM, T >::element | ( | size_t | column, | |
| size_t | row | |||
| ) | const [inline] |
Gives direct read access to the element of the matrix.
| T& VRS::Mat< DIM, T >::element | ( | size_t | column, | |
| size_t | row | |||
| ) | [inline] |
Gives direct read/write access to the element of the matrix.
| Vec<DIM, T> const& VRS::Mat< DIM, T >::column | ( | size_t | column | ) | const [inline] |
Gives read access to the column-th column of the matrix.
| Vec<DIM, T> VRS::Mat< DIM, T >::row | ( | size_t | row | ) | const [inline] |
Gives read access to the row-th row of the matrix.
| Mat<DIM - 1, T> VRS::Mat< DIM, T >::minor | ( | size_t | column, | |
| size_t | row | |||
| ) | const [inline] |
Returns the minor matrix of x, i.e., the matrix without the given column and row.
| bool VRS::Mat< DIM, T >::operator== | ( | Mat< DIM, T > const & | other | ) | const [inline] |
Operator ==.
| bool VRS::Mat< DIM, T >::operator< | ( | Mat< DIM, T > const & | other | ) | const [inline] |
Operator < (lexicographic ordering of the vector columns).
| Mat<DIM, T>& VRS::Mat< DIM, T >::operator+= | ( | Mat< DIM, T > const & | other | ) | [inline] |
Operator +=.
| Mat<DIM, T>& VRS::Mat< DIM, T >::operator-= | ( | Mat< DIM, T > const & | other | ) | [inline] |
Operator -=.
| Mat<DIM, T>& VRS::Mat< DIM, T >::operator*= | ( | Mat< DIM, T > const & | mat | ) | [inline] |
Operator *=.