#include <TAPsColMatrix3x3.hpp>

Public Member Functions | |
| ColMatrix3x3 (T const af[9]) | |
| ColMatrix3x3 (T, T, T, T, T, T, T, T, T) | |
| ColMatrix3x3 (T) | |
| ColMatrix3x3 (ColMatrix3x3< T > const &M) | |
| ColMatrix3x3 () | |
| const double * | GetDataDouble () const |
| const float * | GetDataFloat () const |
| const long double * | GetDataLongDouble () const |
| T | GetDeterminant () const |
| ColMatrix3x3< T > | GetInverse () const |
| ColMatrix3x3< T > | GetTranspose () const |
| const double * | GetTransposeDataDouble () const |
| const float * | GetTransposeDataFloat () const |
| const long double * | GetTransposeDataLongDouble () const |
| ColMatrix3x3< T > & | Inversed () |
| void | MakeDiagonal (T const af[3]) |
| void | MakeDiagonal (T d) |
| void | MakeIdentity () |
| void | MakeZero () |
| void | MultLeft (ColMatrix3x3< T > const &M) |
| void | MultRight (ColMatrix3x3< T > const &M) |
| operator const T * () const | |
| operator T * () | |
| T const & | operator() (int r, int c) const |
| T & | operator() (int r, int c) |
| ColMatrix3x3< T > | operator* (T s) const |
| ColMatrix3x3< T > | operator* (ColMatrix3x3< T > const &M) const |
| ColMatrix3x3< T > & | operator*= (T s) |
| ColMatrix3x3< T > & | operator*= (ColMatrix3x3< T > const &M) |
| ColMatrix3x3< T > | operator+ (ColMatrix3x3< T > const &M) const |
| ColMatrix3x3< T > & | operator+= (ColMatrix3x3< T > const &M) |
| ColMatrix3x3< T > | operator- (ColMatrix3x3< T > const &M) const |
| ColMatrix3x3< T > | operator- () |
| ColMatrix3x3< T > & | operator-= (ColMatrix3x3< T > const &M) |
| ColMatrix3x3< T > | operator/ (T s) const |
| ColMatrix3x3< T > & | operator/= (T s) |
| ColMatrix3x3< T > & | operator= (ColMatrix3x3< T > const &M) |
| T const & | operator[] (int i) const |
| T & | operator[] (int i) |
| void | SetAllElements (T const af[9]) |
| void | SetAllElements (T, T, T, T, T, T, T, T, T) |
| void | SetAllElements (T) |
| ColMatrix3x3< T > & | Transposed () |
| ~ColMatrix3x3 () | |
Private Attributes | |
| T | e [9] |
Static Private Attributes | |
| static double | g_d [9] |
| static float | g_f [9] |
| static long double | g_ld [9] |
Friends | |
| ColMatrix3x3< T > | operator* (T s, ColMatrix3x3< T > const &M) |
| std::ostream & | operator<< (std::ostream &output, ColMatrix3x3< T > const &M) |
Definition at line 18 of file TAPsColMatrix3x3.hpp.
| BEGIN_NAMESPACE_TAPs ColMatrix3x3< T >::ColMatrix3x3 | ( | ) | [inline] |
Definition at line 20 of file TAPsColMatrix3x3.cpp.
00021 { 00022 // Identity Matrix 00023 /*e0*/ e[1] = e[2] = 00024 e[3] = /*e4*/ e[5] = 00025 e[6] = e[7] = /*e8*/ Math<T>::ZERO; 00026 e[0] = e[4] = e[8] = Math<T>::ONE; 00027 }
| ColMatrix3x3< T >::ColMatrix3x3 | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| ColMatrix3x3< T >::ColMatrix3x3 | ( | T | t | ) | [inline] |
| ColMatrix3x3< T >::ColMatrix3x3 | ( | T | e00, | |
| T | e01, | |||
| T | e02, | |||
| T | e10, | |||
| T | e11, | |||
| T | e12, | |||
| T | e20, | |||
| T | e21, | |||
| T | e22 | |||
| ) | [inline] |
| ColMatrix3x3< T >::ColMatrix3x3 | ( | T const | af[9] | ) | [inline] |
| ColMatrix3x3< T >::~ColMatrix3x3 | ( | ) | [inline] |
| const double * ColMatrix3x3< T >::GetDataDouble | ( | ) | const [inline] |
Definition at line 363 of file TAPsColMatrix3x3.cpp.
00364 { 00365 for ( int i = 0; i < 9; ++i ) { 00366 g_d[i] = static_cast<double>( e[i] ); 00367 } 00368 return g_d; 00369 }
| const float * ColMatrix3x3< T >::GetDataFloat | ( | ) | const [inline] |
Definition at line 354 of file TAPsColMatrix3x3.cpp.
00355 { 00356 for ( int i = 0; i < 9; ++i ) { 00357 g_f[i] = static_cast<float>( e[i] ); 00358 } 00359 return g_f; 00360 }
| const long double * ColMatrix3x3< T >::GetDataLongDouble | ( | ) | const [inline] |
Definition at line 372 of file TAPsColMatrix3x3.cpp.
00373 { 00374 for ( int i = 0; i < 9; ++i ) { 00375 g_ld[i] = static_cast<long double>( e[i] ); 00376 } 00377 return g_ld; 00378 }
| T ColMatrix3x3< T >::GetDeterminant | ( | ) | const [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::GetInverse | ( | ) | const [inline] |
Definition at line 188 of file TAPsColMatrix3x3.cpp.
00189 { 00190 T det = GetDeterminant(); 00191 00192 assert( det != 0 ); 00193 00194 if ( -Math<T>::EPSILON < det && det < Math<T>::EPSILON ) 00195 return ColMatrix3x3( Math<T>::INFINITY ); 00196 00197 return ColMatrix3x3<T>( ( e[4]*e[8] - e[5]*e[7] ) / det, 00198 ( e[2]*e[7] - e[1]*e[8] ) / det, 00199 ( e[1]*e[5] - e[2]*e[4] ) / det, 00200 ( e[5]*e[6] - e[3]*e[8] ) / det, 00201 ( e[0]*e[8] - e[2]*e[6] ) / det, 00202 ( e[2]*e[3] - e[0]*e[5] ) / det, 00203 ( e[3]*e[7] - e[4]*e[6] ) / det, 00204 ( e[1]*e[6] - e[0]*e[7] ) / det, 00205 ( e[0]*e[4] - e[1]*e[3] ) / det ); 00206 }
| ColMatrix3x3< T > ColMatrix3x3< T >::GetTranspose | ( | ) | const [inline] |
Definition at line 171 of file TAPsColMatrix3x3.cpp.
00172 { 00173 return ColMatrix3x3<T> ( e[0], e[3], e[6], 00174 e[1], e[4], e[7], 00175 e[2], e[5], e[8] ); 00176 }
| const double * ColMatrix3x3< T >::GetTransposeDataDouble | ( | ) | const [inline] |
Definition at line 396 of file TAPsColMatrix3x3.cpp.
00397 { 00398 g_d[0] = static_cast<double>( e[0] ); 00399 g_d[1] = static_cast<double>( e[3] ); 00400 g_d[2] = static_cast<double>( e[6] ); 00401 g_d[3] = static_cast<double>( e[1] ); 00402 g_d[4] = static_cast<double>( e[4] ); 00403 g_d[5] = static_cast<double>( e[7] ); 00404 g_d[6] = static_cast<double>( e[2] ); 00405 g_d[7] = static_cast<double>( e[5] ); 00406 g_d[8] = static_cast<double>( e[8] ); 00407 return g_d; 00408 }
| const float * ColMatrix3x3< T >::GetTransposeDataFloat | ( | ) | const [inline] |
Definition at line 381 of file TAPsColMatrix3x3.cpp.
00382 { 00383 g_f[0] = static_cast<float>( e[0] ); 00384 g_f[1] = static_cast<float>( e[3] ); 00385 g_f[2] = static_cast<float>( e[6] ); 00386 g_f[3] = static_cast<float>( e[1] ); 00387 g_f[4] = static_cast<float>( e[4] ); 00388 g_f[5] = static_cast<float>( e[7] ); 00389 g_f[6] = static_cast<float>( e[2] ); 00390 g_f[7] = static_cast<float>( e[5] ); 00391 g_f[8] = static_cast<float>( e[8] ); 00392 return g_f; 00393 }
| const long double * ColMatrix3x3< T >::GetTransposeDataLongDouble | ( | ) | const [inline] |
Definition at line 411 of file TAPsColMatrix3x3.cpp.
00412 { 00413 g_ld[0] = static_cast<long double>( e[0] ); 00414 g_ld[1] = static_cast<long double>( e[3] ); 00415 g_ld[2] = static_cast<long double>( e[6] ); 00416 g_ld[3] = static_cast<long double>( e[1] ); 00417 g_ld[4] = static_cast<long double>( e[4] ); 00418 g_ld[5] = static_cast<long double>( e[7] ); 00419 g_ld[6] = static_cast<long double>( e[2] ); 00420 g_ld[7] = static_cast<long double>( e[5] ); 00421 g_ld[8] = static_cast<long double>( e[8] ); 00422 return g_ld; 00423 }
| ColMatrix3x3< T > & ColMatrix3x3< T >::Inversed | ( | ) | [inline] |
| void ColMatrix3x3< T >::MakeDiagonal | ( | T const | af[3] | ) | [inline] |
| void ColMatrix3x3< T >::MakeDiagonal | ( | T | d | ) | [inline] |
| void ColMatrix3x3< T >::MakeIdentity | ( | ) | [inline] |
Definition at line 127 of file TAPsColMatrix3x3.cpp.
00128 { 00129 e[0] = e[4] = e[8] = Math<T>::ONE; 00130 e[1] = e[2] = e[3] = e[5] = e[6] = e[7] = Math<T>::ZERO; 00131 }
| void ColMatrix3x3< T >::MakeZero | ( | ) | [inline] |
| void ColMatrix3x3< T >::MultLeft | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| void ColMatrix3x3< T >::MultRight | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| ColMatrix3x3< T >::operator const T * | ( | ) | const [inline] |
| ColMatrix3x3< T >::operator T * | ( | ) | [inline] |
| T const & ColMatrix3x3< T >::operator() | ( | int | r, | |
| int | c | |||
| ) | const [inline] |
| T & ColMatrix3x3< T >::operator() | ( | int | r, | |
| int | c | |||
| ) | [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::operator* | ( | T | s | ) | const [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::operator* | ( | ColMatrix3x3< T > const & | M | ) | const [inline] |
Definition at line 308 of file TAPsColMatrix3x3.cpp.
00309 { 00310 return ColMatrix3x3<T>( M.e[0]*e[0] + M.e[1]*e[3] + M.e[2]*e[6], 00311 M.e[0]*e[1] + M.e[1]*e[4] + M.e[2]*e[7], 00312 M.e[0]*e[2] + M.e[1]*e[5] + M.e[2]*e[8], 00313 M.e[3]*e[0] + M.e[4]*e[3] + M.e[5]*e[6], 00314 M.e[3]*e[1] + M.e[4]*e[4] + M.e[5]*e[7], 00315 M.e[3]*e[2] + M.e[4]*e[5] + M.e[5]*e[8], 00316 M.e[6]*e[0] + M.e[7]*e[3] + M.e[8]*e[6], 00317 M.e[6]*e[1] + M.e[7]*e[4] + M.e[8]*e[7], 00318 M.e[6]*e[2] + M.e[7]*e[5] + M.e[8]*e[8] ); 00319 }
| ColMatrix3x3< T > & ColMatrix3x3< T >::operator*= | ( | T | s | ) | [inline] |
| ColMatrix3x3< T > & ColMatrix3x3< T >::operator*= | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::operator+ | ( | ColMatrix3x3< T > const & | M | ) | const [inline] |
| ColMatrix3x3< T > & ColMatrix3x3< T >::operator+= | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::operator- | ( | ColMatrix3x3< T > const & | M | ) | const [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::operator- | ( | ) | [inline] |
Definition at line 236 of file TAPsColMatrix3x3.cpp.
00237 { 00238 return ColMatrix3x3<T>( -e[0], -e[1], -e[2], 00239 -e[3], -e[4], -e[5], 00240 -e[6], -e[7], -e[8] ); 00241 }
| ColMatrix3x3< T > & ColMatrix3x3< T >::operator-= | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| ColMatrix3x3< T > ColMatrix3x3< T >::operator/ | ( | T | s | ) | const [inline] |
| ColMatrix3x3< T > & ColMatrix3x3< T >::operator/= | ( | T | s | ) | [inline] |
| ColMatrix3x3< T > & ColMatrix3x3< T >::operator= | ( | ColMatrix3x3< T > const & | M | ) | [inline] |
| T const & ColMatrix3x3< T >::operator[] | ( | int | i | ) | const [inline] |
| T & ColMatrix3x3< T >::operator[] | ( | int | i | ) | [inline] |
| void ColMatrix3x3< T >::SetAllElements | ( | T const | af[9] | ) | [inline] |
| void ColMatrix3x3< T >::SetAllElements | ( | T | e00, | |
| T | e01, | |||
| T | e02, | |||
| T | e10, | |||
| T | e11, | |||
| T | e12, | |||
| T | e20, | |||
| T | e21, | |||
| T | e22 | |||
| ) | [inline] |
| void ColMatrix3x3< T >::SetAllElements | ( | T | t | ) | [inline] |
| ColMatrix3x3< T > & ColMatrix3x3< T >::Transposed | ( | ) | [inline] |
| ColMatrix3x3<T> operator* | ( | T | s, | |
| ColMatrix3x3< T > const & | M | |||
| ) | [friend] |
| std::ostream& operator<< | ( | std::ostream & | output, | |
| ColMatrix3x3< T > const & | M | |||
| ) | [friend] |
Definition at line 37 of file TAPsColMatrix3x3.hpp.
00038 { 00039 int width = 14; 00040 //output << typeid(*this).name() << "( "; 00041 output << "ColMatrix3x3<" << typeid(T).name() << "> =\n" 00042 << "| " << std::setw(width) << M.e[0] 00043 << std::setw(width) << M.e[3] 00044 << std::setw(width) << M.e[6] << " |\n" 00045 << "| " << std::setw(width) << M.e[1] 00046 << std::setw(width) << M.e[4] 00047 << std::setw(width) << M.e[7] << " |\n" 00048 << "| " << std::setw(width) << M.e[2] 00049 << std::setw(width) << M.e[5] 00050 << std::setw(width) << M.e[8] << " |\n"; 00051 //output << std::endl; 00052 return output; 00053 }
T ColMatrix3x3< T >::e[9] [private] |
Definition at line 27 of file TAPsColMatrix3x3.hpp.
double ColMatrix3x3< T >::g_d[9] [static, private] |
Definition at line 31 of file TAPsColMatrix3x3.hpp.
float ColMatrix3x3< T >::g_f[9] [static, private] |
Definition at line 30 of file TAPsColMatrix3x3.hpp.
long double ColMatrix3x3< T >::g_ld[9] [static, private] |
Definition at line 32 of file TAPsColMatrix3x3.hpp.
1.5.6