Storage class for a NxM-dimensional matrix class template of fixed dimensions. More...
#include <matrix.h>

Public Attributes | |
| T | elements [ROW *COL] |
| general case matrix elements. More... | |
Storage class for a NxM-dimensional matrix class template of fixed dimensions.
Used as base class for the mi::math::Matrix class template.
Use the mi::math::Matrix template in your programs and this storage class only if you need a POD type, for example for parameter passing.
This class template provides array-like storage for ROW times COL many values of a (arithmetic) type T. It has specializations for ROW in [1,4] and COL in [1,4]. These specializations use data members named xx, xy, xz, etc., according to the dimensions. The first letter denotes the row, the second letter the column. These specializations provide users of the mi::math::Matrix class template with the conventional member access to matrix elements, such as in the following example, which, for the sake of illustration, defines a transformation matrix with a factor two scaling transformation:
This class template contains only the data and no member functions. The necessary access abstraction is encoded in the free function mi::math::matrix_base_ptr(), which is overloaded for the general case and the various specializations for the small dimensions. It returns a pointer to the first element.
xx, xy, xz, xw, yx, yy, ..., wx, wy, wz, ww.