#include <TAPsMatrix2x2.hpp>

Public Member Functions | |
| T | GetDeterminant () const |
| Matrix2x2< T > | GetInverse () const |
| Matrix2x2< T > | GetTranspose () const |
| Matrix2x2< T > & | Inversed () |
| bool | IsIdentity () const |
| bool | IsSquare () const |
| bool | IsSymmetric () const |
| void | MakeDiagonal (T const af[4]) |
| void | MakeDiagonal (T d) |
| void | MakeIdentity () |
| void | MakeZero () |
| Matrix2x2 (T const af[4]) | |
| Matrix2x2 (T, T, T, T) | |
| Matrix2x2 (T) | |
| Matrix2x2 (Matrix2x2< T > const &M) | |
| Matrix2x2 () | |
| void | MultLeft (Matrix2x2< T > const &M) |
| void | MultRight (Matrix2x2< T > const &M) |
| operator const T * () const | |
| operator T * () | |
| T const & | operator() (int r, int c) const |
| T & | operator() (int r, int c) |
| Vector2< T > | operator* (Vector2< T > const &V) const |
| Matrix2x2< T > | operator* (T s) const |
| Matrix2x2< T > | operator* (Matrix2x2< T > const &M) const |
| Matrix2x2< T > & | operator*= (T s) |
| Matrix2x2< T > & | operator*= (Matrix2x2< T > const &M) |
| Matrix2x2< T > | operator+ (Matrix2x2< T > const &M) const |
| Matrix2x2< T > & | operator+= (Matrix2x2< T > const &M) |
| Matrix2x2< T > | operator- (Matrix2x2< T > const &M) const |
| Matrix2x2< T > | operator- () |
| Matrix2x2< T > & | operator-= (Matrix2x2< T > const &M) |
| Matrix2x2< T > | operator/ (T s) const |
| Matrix2x2< T > & | operator/= (T s) |
| Matrix2x2< T > & | operator= (Matrix2x2< T > const &M) |
| T const & | operator[] (int i) const |
| T & | operator[] (int i) |
| void | SetAllElements (T const af[4]) |
| void | SetAllElements (T, T, T, T) |
| void | SetAllElements (T) |
| Matrix2x2< T > & | Transposed () |
| ~Matrix2x2 () | |
Private Attributes | |
| T | e [4] |
Friends | |
| Matrix2x2< T > | operator* (T s, Matrix2x2< T > const &M) |
| std::ostream & | operator<< (std::ostream &output, Matrix2x2< T > const &M) |
Definition at line 20 of file TAPsMatrix2x2.hpp.
Definition at line 20 of file TAPsMatrix2x2.cpp.
00021 { 00022 // Identity Matrix 00023 e[0] = e[3] = Math<T>::ONE; 00024 e[1] = e[2] = Math<T>::ZERO; 00025 }
| T Matrix2x2< T >::GetDeterminant | ( | ) | const [inline] |
Definition at line 170 of file TAPsMatrix2x2.cpp.
00171 { 00172 T det = GetDeterminant(); 00173 00174 if ( -Math<T>::EPSILON < det && det < Math<T>::EPSILON ) 00175 return Matrix2x2( Math<T>::INFINITY ); 00176 00177 return Matrix2x2<T>( e[3] / det, 00178 -e[1] / det, 00179 -e[2] / det, 00180 e[0] / det ); 00181 }
Definition at line 155 of file TAPsMatrix2x2.cpp.
00156 { 00157 return Matrix2x2<T> ( e[0], e[2], e[1], e[3] ); 00158 }
| bool Matrix2x2< T >::IsIdentity | ( | ) | const [inline] |
Definition at line 135 of file TAPsMatrix2x2.cpp.
00136 { 00137 return e[ 0] == Math<T>::ONE && 00138 e[ 1] == Math<T>::ZERO && 00139 e[ 2] == Math<T>::ZERO && 00140 e[ 3] == Math<T>::ONE; 00141 }
| bool Matrix2x2< T >::IsSquare | ( | ) | const [inline] |
| bool Matrix2x2< T >::IsSymmetric | ( | ) | const [inline] |
| void Matrix2x2< T >::MakeDiagonal | ( | T const | af[4] | ) | [inline] |
| void Matrix2x2< T >::MakeDiagonal | ( | T | d | ) | [inline] |
Definition at line 114 of file TAPsMatrix2x2.cpp.
00115 { 00116 e[0] = e[3] = d; 00117 e[1] = e[2] = Math<T>::ZERO; 00118 }
| void Matrix2x2< T >::MakeIdentity | ( | ) | [inline] |
Definition at line 107 of file TAPsMatrix2x2.cpp.
00108 { 00109 e[0] = e[3] = Math<T>::ONE; 00110 e[1] = e[2] = Math<T>::ZERO; 00111 }
| void Matrix2x2< T >::MakeZero | ( | ) | [inline] |
Definition at line 129 of file TAPsMatrix2x2.cpp.
00130 { 00131 e[0] = e[1] = e[2] = e[3] = Math<T>::ZERO; 00132 }
| Matrix2x2< T >::operator const T * | ( | ) | const [inline] |
| Matrix2x2< T >::operator T * | ( | ) | [inline] |
| T const & Matrix2x2< T >::operator() | ( | int | r, | |
| int | c | |||
| ) | const [inline] |
| T & Matrix2x2< T >::operator() | ( | int | r, | |
| int | c | |||
| ) | [inline] |
| Vector2< T > Matrix2x2< T >::operator* | ( | Vector2< T > const & | V | ) | const [inline] |
Definition at line 299 of file TAPsMatrix2x2.cpp.
00300 { 00301 return Vector2<T>( 00302 V[0]*e[0] + V[1]*e[1], 00303 V[0]*e[2] + V[1]*e[3] ); 00304 }
Definition at line 274 of file TAPsMatrix2x2.cpp.
00275 { 00276 return Matrix2x2<T>( e[0]*s, e[1]*s, e[2]*s, e[3]*s ); 00277 }
| Matrix2x2< T > & Matrix2x2< T >::operator*= | ( | Matrix2x2< T > const & | M | ) | [inline] |
Definition at line 206 of file TAPsMatrix2x2.cpp.
00207 { 00208 return Matrix2x2<T>( -e[0], -e[1], -e[2], -e[3] ); 00209 }
Definition at line 280 of file TAPsMatrix2x2.cpp.
00281 { 00282 return Matrix2x2<T>( e[0]/s, e[1]/s, e[2]/s, e[3]/s ); 00283 }
| T const & Matrix2x2< T >::operator[] | ( | int | i | ) | const [inline] |
| T & Matrix2x2< T >::operator[] | ( | int | i | ) | [inline] |
| void Matrix2x2< T >::SetAllElements | ( | T const | af[4] | ) | [inline] |
| void Matrix2x2< T >::SetAllElements | ( | T | e00, | |
| T | e01, | |||
| T | e10, | |||
| T | e11 | |||
| ) | [inline] |
| void Matrix2x2< T >::SetAllElements | ( | T | t | ) | [inline] |
| std::ostream& operator<< | ( | std::ostream & | output, | |
| Matrix2x2< T > const & | M | |||
| ) | [friend] |
Definition at line 29 of file TAPsMatrix2x2.hpp.
00030 { 00031 int width = 14; 00032 //output << typeid(*this).name() << "( "; 00033 output << "Matrix2x2<" << typeid(T).name() << "> =\n" 00034 << "| " << std::setw(width) << M.e[0] 00035 << std::setw(width) << M.e[1] << " |\n" 00036 << "| " << std::setw(width) << M.e[2] 00037 << std::setw(width) << M.e[3] << " |\n"; 00038 //output << std::endl; 00039 return output; 00040 }
Definition at line 24 of file TAPsMatrix2x2.hpp.
1.5.6