Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef _GMTL_AXIS_ANGLE_OPS_H_
00007 #define _GMTL_AXIS_ANGLE_OPS_H_
00008
00009 #include <gmtl/AxisAngle.h>
00010
00011 namespace gmtl
00012 {
00013
00027 template<class DATA_TYPE>
00028 inline bool operator==(const AxisAngle<DATA_TYPE>& a1,
00029 const AxisAngle<DATA_TYPE>& a2)
00030 {
00031
00032 if (a1[0] != a2[0]) return false;
00033 if (a1[1] != a2[1]) return false;
00034 if (a1[2] != a2[2]) return false;
00035 if (a1[3] != a2[3]) return false;
00036 return true;
00037 }
00038
00047 template<class DATA_TYPE>
00048 inline bool operator!=(const AxisAngle<DATA_TYPE>& a1,
00049 const AxisAngle<DATA_TYPE>& a2)
00050 {
00051 return !(a1 == a2);
00052 }
00053
00066 template<class DATA_TYPE>
00067 inline bool isEqual( const AxisAngle<DATA_TYPE>& a1,
00068 const AxisAngle<DATA_TYPE>& a2,
00069 const DATA_TYPE eps = 0 )
00070 {
00071 gmtlASSERT( eps >= (DATA_TYPE)0 );
00072
00073
00074 if (!Math::isEqual( a1[0], a2[0], eps )) return false;
00075 if (!Math::isEqual( a1[1], a2[1], eps )) return false;
00076 if (!Math::isEqual( a1[2], a2[2], eps )) return false;
00077 if (!Math::isEqual( a1[3], a2[3], eps )) return false;
00078 return true;
00079 }
00080
00081
00082
00083
00086 }
00087
00088 #endif