Classes | |
struct | row_accessor |
Public Types | |
typedef float_t | float_type |
typedef float_t | value_type |
typedef matrix< M, N, float_t > | matrix_type |
typedef float_t * | iterator |
typedef const float_t * | const_iterator |
Public Member Functions | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
float_t & | operator() (size_t rowIndex, size_t colIndex) |
const float_t & | operator() (size_t rowIndex, size_t colIndex) const |
float_t & | at (size_t rowIndex, size_t colIndex) |
const float_t & | at (size_t rowIndex, size_t colIndex) const |
matrix (const matrix_functor< matrix< M, N, float_t > > &functor) | |
void | zero () |
void | identity () |
bool | operator== (const matrix &other) const |
bool | operator!= (const matrix &other) const |
bool | isEqualTo (const matrix &other, float_t tolerance) |
template<size_t P> | |
void | multiply (const matrix< M, P, float_t > &left, const matrix< P, N, float_t > &right) |
matrix | operator* (matrix &other) |
template<size_t P> | |
matrix< M, P, float_t > | operator* (matrix< N, P, float_t > &other) |
void | operator*= (const matrix< M, M, float_t > &right) |
matrix | operator+ (const matrix &other) const |
matrix | operator- (const matrix &other) const |
void | operator+= (const matrix &other) |
void | operator-= (const matrix &other) |
template<size_t P, size_t Q> | |
void | directSum (const matrix< P, Q, float_t > &other, matrix< M+P, N+Q, float_t > &result) |
template<size_t P, size_t Q> | |
matrix< M+P, N+Q, float_t > | directSum (const matrix< P, Q, float_t > &other) |
matrix | operator* (float_t scalar) |
void | operator*= (float_t scalar) |
vector< M, float_t > | operator* (const vector< N, float_t > &other) const |
vector< M-1, float_t > | operator* (const vector< N-1, float_t > &other) const |
matrix< M, N, float_t > | operator- () const |
matrix< M, N, float_t > | negate () const |
void | tensor (const vector< M, float_t > &u, const vector< N, float_t > &v) |
void | tensor (const vector< M-1, float_t > &u, const vector< N-1, float_t > &v) |
template<size_t Mret, size_t Nret> | |
matrix< Mret, Nret, float_t > | getSubMatrix (size_t rowOffset, size_t colOffset) const |
template<size_t Mret, size_t Nret> | |
void | getSubMatrix (matrix< Mret, Nret, float_t > &result, size_t rowOffset=0, size_t colOffset=0) const |
template<size_t Mret, size_t Nret> | |
void | setSubMatrix (const matrix< Mret, Nret, float_t > &subMatrix, size_t rowOffset=0, size_t colOffset=0) |
void | transposeTo (matrix< N, M, float_t > &transposedMatrix) const |
matrix< N, M, float_t > | getTransposed () const |
void | operator= (const float_t *data_array) |
void | operator= (const float_t old_fashioned_matrix[M][N]) |
void | operator= (const std::vector< float_t > &data) |
void | operator= (float_t fill_value) |
void | fill (float_t fill_value) |
bool | set (const std::vector< std::string > &values) |
bool | set (const std::string &values, char delimiter) |
void | set (float_t v00, float_t v01, float_t v02, float_t v10, float_t v11, float_t v12, float_t v20, float_t v21, float_t v22) |
void | set (float_t v00, float_t v01, float_t v02, float_t v03, float_t v10, float_t v11, float_t v12, float_t v13, float_t v20, float_t v21, float_t v22, float_t v23, float_t v30, float_t v31, float_t v32, float_t v33) |
void | copyFrom1DimCArray (const float_t *c_array, bool row_by_row_layout=true) |
template<typename different_float_t > | |
void | copyFrom1DimCArray (const different_float_t *c_array, bool row_by_row_layout=true) |
vector< M, float_t > | getColumn (size_t columnNumber) const |
void | getColumn (size_t columnNumber, vector< M, float_t > &column) const |
void | setColumn (size_t columnNumber, const vector< M, float_t > &column) |
void | getColumn (size_t columnNumber, matrix< M, 1, float_t > &column) const |
void | setColumn (size_t columnNumber, const matrix< M, 1, float_t > &column) |
vector< N, float_t > | getRow (size_t rowNumber) const |
void | getRow (size_t rowNumber, vector< N, float_t > &row) const |
void | setRow (size_t rowNumber, const vector< N, float_t > &row) |
void | getRow (size_t rowNumber, matrix< 1, N, float_t > &row) const |
void | setRow (size_t rowNumber, const matrix< 1, N, float_t > &row) |
size_t | size () const |
size_t | getM () const |
size_t | getNumberOfRows () const |
size_t | getN () const |
size_t | getNumberOfColumns () const |
float_t | getDeterminant () const |
void | getAdjugate (matrix< M, M, float_t > &adjugate) const |
void | getCofactors (matrix< M, N, float_t > &cofactors) const |
bool | getInverse (matrix< M, M, float_t > &inverse, float_t tolerance=1e-9) const |
float_t | getMinor (matrix< M-1, N-1 > &other, size_t row_to_cut, size_t col_to_cut) |
bool | isPositiveDefinite (const float_t limit=-1e12) const |
void | rotate (const float_t angle, const vector< M-1, float_t > &axis) |
void | rotateX (const float_t angle) |
void | rotateY (const float_t angle) |
void | rotateZ (const float_t angle) |
void | preRotateX (const float_t angle) |
void | preRotateY (const float_t angle) |
void | preRotateZ (const float_t angle) |
void | scale (const float_t scale[3]) |
void | scale (const float_t x, const float_t y, const float_t z) |
void | scale (const vector< 3, float_t > &scale_) |
void | scaleTranslation (const float_t scale_[3]) |
void | scaleTranslation (const vector< 3, float_t > &scale_) |
void | setTranslation (const float_t x, const float_t y, const float_t z) |
void | setTranslation (const float_t trans[3]) |
void | setTranslation (const vector< 3, float_t > &trans) |
vector< 3, float_t > | getTranslation () const |
bool | getString (std::string &result, const std::string &delimiter=" ") const |
row_accessor | operator[] (size_t rowIndex) |
template<> | |
float | getDeterminant () const |
template<> | |
double | getDeterminant () const |
template<> | |
float | getDeterminant () const |
template<> | |
double | getDeterminant () const |
template<> | |
void | getAdjugate (matrix< 2, 2, float > &adjugate) const |
template<> | |
void | getAdjugate (matrix< 2, 2, double > &adjugate) const |
template<> | |
bool | getInverse (matrix< 2, 2, float > &Minverse, float tolerance) const |
template<> | |
bool | getInverse (matrix< 2, 2, double > &Minverse, double tolerance) const |
template<> | |
bool | getInverse (matrix< 3, 3, float > &result, float tolerance) const |
template<> | |
bool | getInverse (matrix< 3, 3, double > &result, double tolerance) const |
template<> | |
bool | getInverse (matrix< 4, 4, float > &result, float tolerance) const |
template<> | |
bool | getInverse (matrix< 4, 4, double > &result, double tolerance) const |
Static Public Member Functions | |
template<typename init_functor_t > | |
static const matrix | getInitializedMatrix () |
Public Attributes | |
float_t | array [M *N] |
Static Public Attributes | |
static const matrix< M, N, float_t > | IDENTITY |
static const matrix< M, N, float_t > | ZERO |
Friends | |
std::ostream & | operator<< (std::ostream &os, const matrix< M, N, float_t > &matrix) |
void vmml::matrix< M, N, float_t >::rotate | ( | const float_t | angle, | |
const vector< M-1, float_t > & | axis | |||
) | [inline] |
create rotation matrix from parameters.
angle | - angle in radians | |
rotation | axis - must be normalized! |