MatrixMxN.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _ZFXMATH_INCLUDE_MATRIXMXN_H_
00015 #define _ZFXMATH_INCLUDE_MATRIXMXN_H_
00016
00017
00018
00019
00020
00021 namespace ZFXMath
00022 {
00023
00024
00025 template <int M, int N, class T> class TMatrixMxN
00026 {
00027 public:
00028
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
00035 ~TMatrixMxN<M, N, T> (void);
00036
00037
00038 void zero (void);
00039 void identity (void);
00040 TMatrixMxN<N, M, T> transpose (void) const;
00041 void negate (void);
00042
00043
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
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
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
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
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
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 public:
00096 T matrix[N][M];
00097 };
00098 }
00099
00100
00101 #include "MatrixMxN.inl"
00102
00103 #endif
00104
00105
Generated on Thu Nov 25 04:02:58 2004 for ZFX-Math Library by
1.3.8