00001
00002
00008 #if !defined(__cpt_Grid_h__)
00009 #define __cpt_Grid_h__
00010
00011
00012 #include "GridBase.h"
00013 #include "Vertex.h"
00014 #include "Face.h"
00015
00016 BEGIN_NAMESPACE_CPT
00017
00018
00020 template<int N, typename T = double>
00021 class Grid;
00022
00023
00024
00025
00026
00027
00028
00030
00031 template<int N, typename T>
00032 inline
00033 std::ostream&
00034 operator<<(std::ostream& out, const Grid<N,T>& g) {
00035 g.put(out);
00036 return out;
00037 }
00038
00039
00040
00041
00042
00043
00044
00046
00047 template<int N, typename T>
00048 inline
00049 bool
00050 operator==(const Grid<N,T>& a, const Grid<N,T>& b) {
00051 return (static_cast<const GridBase<N,T>&>(a) ==
00052 static_cast<const GridBase<N,T>&>(b));
00053 }
00054
00055
00057
00058 template<int N, typename T>
00059 inline
00060 bool
00061 operator!=(const Grid<N,T>& a, const Grid<N,T>& b) {
00062 return !(a == b);
00063 }
00064
00065
00066 END_NAMESPACE_CPT
00067
00068 #define __Grid1_ipp__
00069 #include "Grid1.ipp"
00070 #undef __Grid1_ipp__
00071
00072 #define __Grid2_ipp__
00073 #include "Grid2.ipp"
00074 #undef __Grid2_ipp__
00075
00076 #define __Grid3_ipp__
00077 #include "Grid3.ipp"
00078 #undef __Grid3_ipp__
00079
00080 #endif