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

hp3D/hexFunctions.hh
Go to the documentation of this file.
00001 // additional functionality for hexahedra
00002 
00003 #ifndef hexFunctions_hh
00004 #define hexFunctions_hh
00005 
00006 #include "basics/typedefs.hh"
00007 
00008 namespace concepts {
00009 
00010   // forward declaration
00011   class Hexahedron;
00012 
00013 }
00014 
00015 namespace hp3D {
00016 
00017   // ********************************************************** HexFunctions **
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       // copy'n paste from TColumnTensor::operator[]
00083       return ll[0]+ll[1]*(1+p[0])+ll[2]*(1+p[0])*(1+p[1]);
00084     }
00085   };
00086 
00087 } // namespace hp3D
00088 
00089 #endif // hexFunctions_hh

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