Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Auflistung der Klassen | Auflistung der Dateien | Elemente eines Namensbereiches | Klassen-Elemente | Datei-Elemente

MatrixMxN.h

gehe zur Dokumentation dieser Datei
00001 00002 00003 00004 00005 00006 // /////////////////////////////////////////////////////////////////////////// 00007 // Autor: Patrick Ullmann 00008 // Erstellt: 05.04.04 00009 // Änderungen: 05.04.04 (Patrick) Datei erstellt 00010 // /////////////////////////////////////////////////////////////////////////// 00011 // Beschreibung: Struktur für eine Matrix mit frei belegbaren Spalten 00012 // und Zeilenanzahl (Inline-File) 00013 00014 #ifndef _ZFXMATH_INCLUDE_MATRIXMXN_H_ 00015 #define _ZFXMATH_INCLUDE_MATRIXMXN_H_ 00016 00017 // I N C L U D E S /////////////////////////////////////////////////////////// 00018 // Noch keine 00019 00020 // S T R U K T U R E N /////////////////////////////////////////////////////// 00021 namespace ZFXMath 00022 { 00023 // M = Zeilen 00024 // N = Spalten 00025 template <int M, int N, class T> class TMatrixMxN 00026 { 00027 public: 00028 // Konstruktoren 00029 TMatrixMxN<M, N, T> (void); 00030 TMatrixMxN<M, N, T> (const T& value); 00031 TMatrixMxN<M, N, T> (TMatrixMxN<M, N, T> const &other); 00032 TMatrixMxN<M, N, T> (const T (&value)[M*N]); 00033 00034 // Destruktor 00035 ~TMatrixMxN<M, N, T> (void); 00036 00037 // Funktionen 00038 void zero (void); 00039 void identity (void); 00040 TMatrixMxN<N, M, T> transpose (void) const; 00041 void negate (void); 00042 00043 // Zuweisungsoperatoren 00044 TMatrixMxN<M, N, T> const& operator= (TMatrixMxN<M, N, T> const &other); 00045 TMatrixMxN<M, N, T> const& operator= (const T& value); 00046 TMatrixMxN<M, N, T> const& operator= (const T (&value)[M*N]); 00047 00048 // Vergleichsoperatoren 00049 bool operator== (TMatrixMxN<M, N, T> const &other); 00050 bool operator== (const T& value); 00051 bool operator== (const T (&value)[M*N]); 00052 00053 bool operator!= (TMatrixMxN<M, N, T> const &other); 00054 bool operator!= (const T& value); 00055 bool operator!= (const T (&value)[M*N]); 00056 00057 // Additionsoperatoren 00058 TMatrixMxN<M, N, T> operator+ (TMatrixMxN<M, N, T> const &other) const; 00059 TMatrixMxN<M, N, T> operator+ (const T& value) const; 00060 TMatrixMxN<M, N, T> operator+ (const T (&value)[M*N]) const; 00061 00062 TMatrixMxN<M, N, T> const& operator+= (TMatrixMxN<M, N, T> const &other); 00063 TMatrixMxN<M, N, T> const& operator+= (const T& value); 00064 TMatrixMxN<M, N, T> const& operator+= (const T (&value)[M*N]); 00065 00066 // Subtraktionsoperatoren 00067 TMatrixMxN<M, N, T> operator- (void) const; 00068 TMatrixMxN<M, N, T> operator- (TMatrixMxN<M, N, T> const &other) const; 00069 TMatrixMxN<M, N, T> operator- (const T& value) const; 00070 TMatrixMxN<M, N, T> operator- (const T (&value)[M*N]) const; 00071 00072 TMatrixMxN<M, N, T> const& operator-= (TMatrixMxN<M, N, T> const &other); 00073 TMatrixMxN<M, N, T> const& operator-= (const T& value); 00074 TMatrixMxN<M, N, T> const& operator-= (const T (&value)[M*N]); 00075 00076 // Multiplikationsoperatoren 00077 TMatrixMxN<M, M, T> operator* (TMatrixMxN<N, M, T> const &other) const; 00078 TMatrixMxN<M, N, T> operator* (const T& value) const; 00079 TMatrixMxN<M, M, T> operator* (const T (&value)[M*N]) const; 00080 00081 TMatrixMxN<M, M, T> const& operator*= (TMatrixMxN<M, N, T> const &other); 00082 TMatrixMxN<M, N, T> const& operator*= (const T& value); 00083 TMatrixMxN<M, M, T> const& operator*= (const T (&value)[M*N]); 00084 00085 // Divisionsoperatoren 00086 /* TMatrixMxN<M, N, T> operator/ (void) const; 00087 TMatrixMxN<M, N, T> operator/ (TMatrixMxN<M, N, T> const &other) const; 00088 TMatrixMxN<M, N, T> operator/ (const T& value) const; 00089 TMatrixMxN<M, N, T> operator/ (const T (&value)[M*N]) const; 00090 00091 TMatrixMxN<M, N, T> const& operator/= (TMatrixMxN<M, N, T> const &other); 00092 TMatrixMxN<M, N, T> const& operator/= (const T& value); 00093 TMatrixMxN<M, N, T> const& operator/= (const T (&value)[M*N]); 00094 */ 00095 public: 00096 T matrix[N][M]; 00097 }; 00098 } // namespace ZFXMath 00099 00100 00101 #include "MatrixMxN.inl" 00102 00103 #endif // _ZFXMATH_INCLUDE_MATRIXMXN_H_ 00104 00105

Erzeugt am Thu Nov 25 04:02:55 2004 für ZFX-Math Library von doxygen 1.3.8