00001
00002
00008 #if !defined(__geom_mesh_iss_equality_h__)
00009 #define __geom_mesh_iss_equality_h__
00010
00011 #include "IndSimpSetIncAdj.h"
00012
00013 BEGIN_NAMESPACE_GEOM
00014
00015
00021
00022
00024
00025 template<int N, int M,
00026 bool A1, bool A2,
00027 typename T,
00028 typename V1, typename V2,
00029 typename IS1, typename IS2>
00030 inline
00031 bool
00032 operator==(const IndSimpSet<N,M,A1,T,V1,IS1>& x,
00033 const IndSimpSet<N,M,A2,T,V2,IS2>& y) {
00034 return (x.getVertices() == y.getVertices() &&
00035 x.getIndexedSimplices() == y.getIndexedSimplices());
00036 }
00037
00039
00040 template<int N, int M,
00041 bool A1, bool A2,
00042 typename T,
00043 typename V1, typename V2,
00044 typename IS1, typename IS2>
00045 inline
00046 bool
00047 operator!=(const IndSimpSet<N,M,A1,T,V1,IS1>& x,
00048 const IndSimpSet<N,M,A2,T,V2,IS2>& y) {
00049 return !(x == y);
00050 }
00051
00052
00053
00054
00055
00057
00058 template<int N, int M,
00059 bool A1, bool A2,
00060 typename T,
00061 typename V1, typename V2,
00062 typename IS1, typename IS2>
00063 inline
00064 bool
00065 operator==(const IndSimpSetIncAdj<N,M,A1,T,V1,IS1>& x,
00066 const IndSimpSetIncAdj<N,M,A2,T,V2,IS2>& y) {
00067 return (x.getVertices() == y.getVertices() &&
00068 x.getIndexedSimplices() == y.getIndexedSimplices() &&
00069 x.getVertexSimplexIncidence() == y.getVertexSimplexIncidence() &&
00070 x.getSimplexAdjacencies() == y.getSimplexAdjacencies());
00071 }
00072
00074
00075 template<int N, int M,
00076 bool A1, bool A2,
00077 typename T,
00078 typename V1, typename V2,
00079 typename IS1, typename IS2>
00080 inline
00081 bool
00082 operator!=(const IndSimpSetIncAdj<N,M,A1,T,V1,IS1>& x,
00083 const IndSimpSetIncAdj<N,M,A2,T,V2,IS2>& y) {
00084 return !(x == y);
00085 }
00086
00087
00088
00089
00090 END_NAMESPACE_GEOM
00091
00092 #endif