mat-mat.hpp

Go to the documentation of this file.
00001 //=============================================================================
00002 /*! mat=mat operator */
00003 inline mat& mat::operator=(const mat& m)
00004 {
00005   xx=m.xx; xy=m.xy; xz=m.xz;
00006   yx=m.yx; yy=m.yy; yz=m.yz;
00007   zx=m.zx; zy=m.zy; zz=m.zz;
00008   return *this;
00009 }
00010 
00011 ///////////////////////////////////////////////////////////////////////////////
00012 ///////////////////////////////////////////////////////////////////////////////
00013 ///////////////////////////////////////////////////////////////////////////////
00014 
00015 //=============================================================================
00016 /*! mat+=mat operator */
00017 inline mat& mat::operator+=(const mat& m)
00018 {
00019   xx+=m.xx; xy+=m.xy; xz+=m.xz;
00020   yx+=m.yx; yy+=m.yy; yz+=m.yz;
00021   zx+=m.zx; zy+=m.zy; zz+=m.zz;
00022   return *this;
00023 }
00024 
00025 //=============================================================================
00026 /*! mat-=mat operator */
00027 inline mat& mat::operator-=(const mat& m)
00028 {
00029   xx-=m.xx; xy-=m.xy; xz-=m.xz;
00030   yx-=m.yx; yy-=m.yy; yz-=m.yz;
00031   zx-=m.zx; zy-=m.zy; zz-=m.zz;
00032   return *this;
00033 }
00034 
00035 //=============================================================================
00036 /*! mat*=mat operator */
00037 inline mat& mat::operator*=(const mat& m)
00038 {
00039   (*this) =(*this)*m;
00040   return *this;
00041 }
00042 
00043 ///////////////////////////////////////////////////////////////////////////////
00044 ///////////////////////////////////////////////////////////////////////////////
00045 ///////////////////////////////////////////////////////////////////////////////
00046 
00047 //============================================================================ 
00048 /*! mat+mat operator */
00049 inline mat operator+(const mat& m1, const mat& m2)
00050 {
00051   return mat( m1.xx+m2.xx, m1.xy+m2.xy, m1.xz+m2.xz,
00052               m1.yx+m2.yx, m1.yy+m2.yy, m1.yz+m2.yz,
00053               m1.zx+m2.zx, m1.zy+m2.zy, m1.zz+m2.zz );
00054 }
00055 
00056 //=============================================================================
00057 /*! mat-mat operator */
00058 inline mat operator-(const mat& m1, const mat& m2)
00059 {
00060   return mat( m1.xx-m2.xx, m1.xy-m2.xy, m1.xz-m2.xz,
00061               m1.yx-m2.yx, m1.yy-m2.yy, m1.yz-m2.yz,
00062               m1.zx-m2.zx, m1.zy-m2.zy, m1.zz-m2.zz );
00063 }
00064 
00065 //=============================================================================
00066 /*! mat*mat operator */
00067 inline mat operator*(const mat& m1, const mat& m2)
00068 {
00069   return mat( m1.xx*m2.xx +m1.xy*m2.yx +m1.xz*m2.zx,
00070               m1.xx*m2.xy +m1.xy*m2.yy +m1.xz*m2.zy,
00071               m1.xx*m2.xz +m1.xy*m2.yz +m1.xz*m2.zz,
00072               m1.yx*m2.xx +m1.yy*m2.yx +m1.yz*m2.zx,
00073               m1.yx*m2.xy +m1.yy*m2.yy +m1.yz*m2.zy,
00074               m1.yx*m2.xz +m1.yy*m2.yz +m1.yz*m2.zz,
00075               m1.zx*m2.xx +m1.zy*m2.yx +m1.zz*m2.zx,
00076               m1.zx*m2.xy +m1.zy*m2.yy +m1.zz*m2.zy,
00077               m1.zx*m2.xz +m1.zy*m2.yz +m1.zz*m2.zz );
00078 }

Generated on Tue Mar 15 16:02:38 2005 for QVM by  doxygen 1.4.1