Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

hp2D/quadFunctions.hh
Go to the documentation of this file.
00001 // additional functionality for quadrilaterals
00002 
00003 #ifndef quadFunctions_hh
00004 #define quadFunctions_hh
00005 
00006 #include "basics/typedefs.hh"
00007 
00008 namespace concepts {
00009   // forward declaration
00010   class Quad;
00011 }
00012 
00013 namespace hp2D {
00014 
00015   // ********************************************************* QuadFunctions **
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       // copy'n paste from TColumnTensor::operator[]
00049       return ll[0]+ll[1]*(1+p[0]);
00050     }
00051   };
00052 
00053   // ************************************************* InfiniteQuadFunctions **
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       // copy'n paste from TColumnTensor::operator[]
00078       return ll[0]+ll[1]*(1+p[0]);
00079     }
00080   };
00081 
00082 
00083 } // namespace hp2D
00084 
00085 #endif // quadFunctions_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)