| 
| 
  | MATRIX3 (const MATRIX3 &source) | 
|   | 
|   | MATRIX3 (const REAL *array) | 
|   | Constructs a matrix from an array.  More...
  | 
|   | 
| 
  | MATRIX3 (const QUAT &q) | 
|   | 
| 
  | MATRIX3 (const AANGLE &a) | 
|   | 
| 
  | MATRIX3 (REAL, REAL, REAL, REAL, REAL, REAL, REAL, REAL, REAL) | 
|   | Constructs a matrix from a set of values. 
  | 
|   | 
| 
MATRIX3 &  | operator= (const QUAT &q) | 
|   | 
| 
MATRIX3 &  | operator= (const AANGLE &a) | 
|   | 
| 
  | MATRIX3 (const MATRIXN &m) | 
|   | 
| 
  | MATRIX3 (const SHAREDMATRIXN &m) | 
|   | 
| 
  | MATRIX3 (const CONST_SHAREDMATRIXN &m) | 
|   | 
| 
REAL  | norm_inf () const  | 
|   | Computes the l-infinity norm of this matrix. 
  | 
|   | 
| 
unsigned  | rows () const  | 
|   | 
| 
unsigned  | columns () const  | 
|   | 
| 
bool  | is_symmetric (REAL tolerance) const  | 
|   | Checks whether this matrix is symmetric. 
  | 
|   | 
| 
bool  | orthonormalize () | 
|   | Makes the matrix orthonormal using Gram-Schmidt orthogonalization. 
  | 
|   | 
| 
bool  | is_orthonormal () const  | 
|   | Determines whether this is an orthonormal matrix. 
  | 
|   | 
| 
REAL  | det () const  | 
|   | Calculates the determinant for a 3x3 matrix. 
  | 
|   | 
| 
MATRIX3 &  | invert () | 
|   | Inverts this matrix. 
  | 
|   | 
| 
const REAL &  | xx () const  | 
|   | 
| 
REAL &  | xx () | 
|   | 
| 
const REAL &  | xy () const  | 
|   | 
| 
REAL &  | xy () | 
|   | 
| 
const REAL &  | xz () const  | 
|   | 
| 
REAL &  | xz () | 
|   | 
| 
const REAL &  | yx () const  | 
|   | 
| 
REAL &  | yx () | 
|   | 
| 
const REAL &  | yy () const  | 
|   | 
| 
REAL &  | yy () | 
|   | 
| 
const REAL &  | yz () const  | 
|   | 
| 
REAL &  | yz () | 
|   | 
| 
const REAL &  | zx () const  | 
|   | 
| 
REAL &  | zx () | 
|   | 
| 
const REAL &  | zy () const  | 
|   | 
| 
REAL &  | zy () | 
|   | 
| 
const REAL &  | zz () const  | 
|   | 
| 
REAL &  | zz () | 
|   | 
| 
MATRIX3  | inverse () const  | 
|   | 
| 
void  | set_rot_X (REAL angle) | 
|   | Sets this matrix to the rotation matrix of the specified angle around the X axis. 
  | 
|   | 
| 
void  | set_rot_Y (REAL angle) | 
|   | Sets this matrix to the rotation matrix of the specified angle around the Y axis. 
  | 
|   | 
| 
void  | set_rot_Z (REAL angle) | 
|   | Sets this matrix to the rotation matrix of the specified angle around the Z axis. 
  | 
|   | 
| 
void  | transpose () | 
|   | Sets this matrix to its transpose. 
  | 
|   | 
| 
MATRIX3 &  | set_zero (unsigned m, unsigned n) | 
|   | 
| 
MATRIX3 &  | set_identity () | 
|   | Sets this matrix to identity. 
  | 
|   | 
| 
MATRIX3 &  | set_zero () | 
|   | 
| 
ORIGIN3  | transpose_mult (const ORIGIN3 &v) const  | 
|   | Multiplies the transpose of this matrix by a vector and returns the result in a new vector. 
  | 
|   | 
| 
ORIGIN3  | mult (const ORIGIN3 &v) const  | 
|   | Multiplies this matrix by a vector and returns the result in a new vector. 
  | 
|   | 
| 
MATRIX3  | mult (const MATRIX3 &m) const  | 
|   | Multiplies this matrix by a matrix and returns the result in a new matrix. 
  | 
|   | 
| 
MATRIX3  | transpose_mult (const MATRIX3 &m) const  | 
|   | Multiplies the transpose of this matrix by a matrix and returns the result in a new matrix. 
  | 
|   | 
| 
MATRIX3  | mult_transpose (const MATRIX3 &m) const  | 
|   | Multiplies this matrix by a transposed matrix and returns the result in a new matrix. 
  | 
|   | 
| 
MATRIX3  | transpose_mult_transpose (const MATRIX3 &m) const  | 
|   | Multiplies the transpose of this matrix by a transposed matrix and returns the result in a new matrix. 
  | 
|   | 
| 
MATRIX3 &  | operator= (const MATRIX3 &source) | 
|   | Copies a matrix to this one. 
  | 
|   | 
| 
MATRIX3 &  | operator= (const MATRIXN &source) | 
|   | Copies a matrix to this one. 
  | 
|   | 
| 
MATRIX3 &  | operator= (const SHAREDMATRIXN &source) | 
|   | Copies a matrix to this one. 
  | 
|   | 
| 
MATRIX3 &  | operator= (const CONST_SHAREDMATRIXN &source) | 
|   | Copies a matrix to this one. 
  | 
|   | 
| 
MATRIX3 &  | operator+= (const MATRIX3 &m) | 
|   | Adds m to this in place. 
  | 
|   | 
| 
MATRIX3 &  | operator-= (const MATRIX3 &m) | 
|   | Subtracts m from this in place. 
  | 
|   | 
| 
MATRIX3 &  | operator*= (REAL scalar) | 
|   | Multiplies this matrix by a scalar in place. 
  | 
|   | 
| 
MATRIX3 &  | operator/= (REAL scalar) | 
|   | 
| 
MATRIX3  | operator+ (const MATRIX3 &m) const  | 
|   | 
| 
MATRIX3  | operator- (const MATRIX3 &m) const  | 
|   | 
| 
MATRIX3  | operator* (REAL scalar) const  | 
|   | 
| 
MATRIX3  | operator/ (REAL scalar) const  | 
|   | 
| 
MATRIX3  | operator- () const  | 
|   | Returns the negation of this matrix. 
  | 
|   | 
| 
MATRIX3  | operator* (const MATRIX3 &m) const  | 
|   | 
| 
ORIGIN3  | operator* (const ORIGIN3 &v) const  | 
|   | 
| 
unsigned  | leading_dim () const  | 
|   | 
| 
unsigned  | inc () const  | 
|   | 
| ORIGIN3  | get_column (unsigned i) const  | 
|   | Gets the specified column of the matrix.  More...
  | 
|   | 
| ORIGIN3  | get_row (unsigned i) const  | 
|   | Gets the specified row of the matrix.  More...
  | 
|   | 
| 
REAL &  | operator() (unsigned i, unsigned j) | 
|   | 
| 
const REAL &  | operator() (unsigned i, unsigned j) const  | 
|   | 
| 
MATRIX3 &  | resize (unsigned rows, unsigned columns, bool preserve=false) | 
|   | 
| 
const REAL *  | data (unsigned i) const  | 
|   | 
| 
REAL *  | data (unsigned i) | 
|   | 
| 
unsigned  | size () const  | 
|   | Gets the total number of elements in this matrix. 
  | 
|   | 
| 
const REAL *  | data () const  | 
|   | Gets constant pointer to the beginning of the matrix array. 
  | 
|   | 
| 
REAL *  | data () | 
|   | Gets pointer to the beginning of the matrix array. 
  | 
|   | 
| CONST_COLUMN_ITERATOR  | block_column_iterator_begin (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) const  | 
|   | This file consists of general routines for constant matrices.  More...
  | 
|   | 
| 
CONST_COLUMN_ITERATOR  | block_column_iterator_end (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) const  | 
|   | Gets a column iterator to a block. 
  | 
|   | 
| 
CONST_ROW_ITERATOR  | block_row_iterator_begin (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) const  | 
|   | Gets a row iterator to a block. 
  | 
|   | 
| 
CONST_ROW_ITERATOR  | block_row_iterator_end (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) const  | 
|   | Gets a row iterator to a block. 
  | 
|   | 
| 
template<class V >  | 
| V &  | get_row (unsigned row, V &v) const  | 
|   | 
| 
template<class V >  | 
| V &  | get_column (unsigned column, V &v) const  | 
|   | 
| 
template<class T , class U >  | 
| U &  | transpose_mult_transpose (const T &x, U &y, REAL alpha=(REAL) 1.0, REAL beta=(REAL) 0.0) const  | 
|   | Does the operation y = beta*y + alpha*this'*x'. 
  | 
|   | 
| 
template<class T , class U >  | 
| U &  | mult_transpose (const T &x, U &y, REAL alpha=(REAL) 1.0, REAL beta=(REAL) 0.0) const  | 
|   | Does the operation y = beta*y + alpha*this*x'. 
  | 
|   | 
| 
template<class T , class U >  | 
| U &  | transpose_mult (const T &x, U &y, REAL alpha=(REAL) 1.0, REAL beta=(REAL) 0.0) const  | 
|   | Does the operation y = beta*y + alpha*this'*x. 
  | 
|   | 
| 
template<class T , class U >  | 
| U &  | mult (const T &x, U &y, REAL alpha=(REAL) 1.0, REAL beta=(REAL) 0.0) const  | 
|   | Does the operation y = beta*y + alpha*this*x. 
  | 
|   | 
| template<class M >  | 
| M &  | get_sub_mat (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end, M &m, Transposition trans=eNoTranspose) const  | 
|   | Gets the specified sub matrix.  More...
  | 
|   | 
| template<class ForwardIterator , class M >  | 
| M &  | select_columns (ForwardIterator col_start, ForwardIterator col_end, M &m) const  | 
|   | Gets a submatrix of columns (not necessarily a block)  More...
  | 
|   | 
| template<class M >  | 
| M &  | select_columns (std::vector< bool > &col_select, M &m) const  | 
|   | Gets a submatrix of columns (not necessarily a block)  More...
  | 
|   | 
| template<class ForwardIterator , class M >  | 
| M &  | select_rows (ForwardIterator row_start, ForwardIterator row_end, M &m) const  | 
|   | Gets a submatrix of rows (not necessarily a block)  More...
  | 
|   | 
| template<class M >  | 
| M &  | select_rows (std::vector< bool > &row_select, M &m) const  | 
|   | Gets a submatrix of rows (not necessarily a block)  More...
  | 
|   | 
| template<class ForwardIterator1 , class ForwardIterator2 , class X >  | 
| X &  | select (ForwardIterator1 row_start, ForwardIterator1 row_end, ForwardIterator2 col_start, ForwardIterator2 col_end, X &m) const  | 
|   | Gets a submatrix (not necessarily a block)  More...
  | 
|   | 
| 
template<class X >  | 
| X &  | select (const std::vector< bool > &rows, const std::vector< bool > &cols, X &m) const  | 
|   | Gets a submatrix (not necessarily a block) 
  | 
|   | 
| 
template<class M >  | 
| M &  | select_square (const std::vector< bool > &indices, M &result) const  | 
|   | Gets a square submatrix (not necessarily a block) 
  | 
|   | 
| template<class ForwardIterator , class M >  | 
| M &  | select_square (ForwardIterator start, ForwardIterator end, M &m) const  | 
|   | 
| 
CONST_COLUMN_ITERATOR  | column_iterator_begin () const  | 
|   | Get an iterator to the beginning. 
  | 
|   | 
| 
CONST_COLUMN_ITERATOR  | column_iterator_end () const  | 
|   | Get an iterator to the end. 
  | 
|   | 
| 
CONST_ROW_ITERATOR  | row_iterator_begin () const  | 
|   | Get an iterator to the beginning. 
  | 
|   | 
| 
CONST_ROW_ITERATOR  | row_iterator_end () const  | 
|   | Get an iterator to the end. 
  | 
|   | 
| 
COLUMN_ITERATOR  | block_column_iterator_begin (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) | 
|   | Gets a column iterator to a block. 
  | 
|   | 
| 
COLUMN_ITERATOR  | block_column_iterator_end (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) | 
|   | Gets a column iterator to a block. 
  | 
|   | 
| 
ROW_ITERATOR  | block_row_iterator_begin (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) | 
|   | Gets a row iterator to a block. 
  | 
|   | 
| 
ROW_ITERATOR  | block_row_iterator_end (unsigned row_start, unsigned row_end, unsigned col_start, unsigned col_end) | 
|   | Gets a row iterator to a block. 
  | 
|   | 
| 
template<class V >  | 
| MATRIXX &  | set_row (unsigned row, const V &v) | 
|   | 
| 
template<class V >  | 
| MATRIXX &  | set_column (unsigned column, const V &v) | 
|   | 
| template<class M >  | 
| MATRIXX &  | set_sub_mat (unsigned row_start, unsigned col_start, const M &m, Transposition trans=eNoTranspose) | 
|   | Sets the specified sub matrix.  More...
  | 
|   | 
| 
ROW_ITERATOR  | row_iterator_begin () | 
|   | Get an iterator to the beginning (iterates column by column) 
  | 
|   | 
| 
ROW_ITERATOR  | row_iterator_end () | 
|   | Get an iterator to the end. 
  | 
|   | 
| 
COLUMN_ITERATOR  | column_iterator_begin () | 
|   | Get an iterator to the beginning (iterates column by column) 
  | 
|   | 
| 
COLUMN_ITERATOR  | column_iterator_end () | 
|   | Get an iterator to the end. 
  | 
|   | 
| template<>  | 
| MATRIX3 &  | set_column (unsigned i, const ORIGIN3 &o) | 
|   | Sets the specified column of the matrix.  More...
  | 
|   | 
| 
template<>  | 
| ORIGIN3 &  | get_column (unsigned i, ORIGIN3 &result) const  | 
|   | Gets the specified column of the matrix. 
  | 
|   | 
| template<>  | 
| MATRIX3 &  | set_row (unsigned i, const ORIGIN3 &o) | 
|   | Sets the specified row of the matrix.  More...
  | 
|   | 
| template<>  | 
| ORIGIN3 &  | get_row (unsigned i, ORIGIN3 &result) const  | 
|   | Gets the specified row of the matrix.  More...
  | 
|   |