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
.