Go to the documentation of this file.00001
00002
00003 #ifndef hexFunctions_hh
00004 #define hexFunctions_hh
00005
00006 #include "basics/typedefs.hh"
00007
00008 namespace concepts {
00009
00010
00011 class Hexahedron;
00012
00013 }
00014
00015 namespace hp3D {
00016
00017
00018
00022 class HexFunctions {
00023 public:
00031 static void edgeOrientation(const uint i,
00032 uint& pIndex, uint& qIndex, uint& rIndex);
00033
00044 static void faceOrientation(const concepts::Hexahedron& cntr, const uint i,
00045 uint& pIndex, uint& qIndex, uint& rIndex);
00046
00054 static void faceShapefctOrientation(const concepts::Hexahedron& cntr,
00055 const uint i,
00056 bool& flip0, bool& flip1);
00057
00061 static void vertexIndex(const uint i, uint ll[3]);
00062
00068 static void edgeIndex(const uint i, const uint qIndex, const uint rIndex,
00069 uint ll[3]);
00070
00075 static void faceIndex(const uint i, const uint rIndex, uint ll[3]);
00076
00081 static uint index(const uint ll[3], const ushort p[3]) {
00082
00083 return ll[0]+ll[1]*(1+p[0])+ll[2]*(1+p[0])*(1+p[1]);
00084 }
00085 };
00086
00087 }
00088
00089 #endif // hexFunctions_hh