Go to the documentation of this file.00001
00002
00003 #ifndef quadFunctions_hh
00004 #define quadFunctions_hh
00005
00006 #include "basics/typedefs.hh"
00007
00008 namespace concepts {
00009
00010 class Quad;
00011 }
00012
00013 namespace hp2D {
00014
00015
00016
00020 class QuadFunctions {
00021 public:
00029 static void edgeOrientation(const uint i, uint& pIndex, uint& qIndex);
00030
00034 static void vertexIndex(const uint i, uint ll[2]);
00035
00041 static void edgeIndex(const uint i, const uint qIndex, uint ll[2]);
00042
00047 static uint index(const uint ll[2], const ushort p[2]) {
00048
00049 return ll[0]+ll[1]*(1+p[0]);
00050 }
00051 };
00052
00053
00054
00059 class InfiniteQuadFunctions {
00060 public:
00064 static void vertexIndex(const uint i, uint ll[2]);
00065
00070 static void edgeIndex(const uint i, uint ll[2]);
00071
00076 static uint index(const uint ll[2], const ushort p[2]) {
00077
00078 return ll[0]+ll[1]*(1+p[0]);
00079 }
00080 };
00081
00082
00083 }
00084
00085 #endif // quadFunctions_hh