rsvs3D  0.0.0
Codes for the c++ implementation of the 3D RSVS
meshrefinement.hpp
Go to the documentation of this file.
1 
7 //===============================================
8 // Include Guards
9 #ifndef MESHREFINEMENT_H_INCLUDED
10 #define MESHREFINEMENT_H_INCLUDED
11 
12 //===============================================
13 // Levels of debuging Guards
14 #ifdef DEBUGLVL2 // All Debugging calls
15 #define DEBUGLVL1
16 #define TEST_RANGE // deprecated
17 #define TEST_ARRAYSTRUCT
18 
19 #endif
20 
21 #ifdef DEBUGLVL1 // Debugging of new features.
22 #ifndef SAFE_ACCESS
23 #define SAFE_ACCESS
24 #endif
25 #endif
26 
27 //=================================
28 // forward declared dependencies
29 // class foo; //when you only need a pointer not the actual object
30 // and to avoid circular dependencies
31 
32 //=================================
33 // included dependencies
34 
35 #include "mesh.hpp"
36 
37 //==================================
38 // Code
39 // NOTE: function in a class definition are IMPLICITELY INLINED
40 // ie replaced by their code at compile time
41 
42 // Forward declared templated functions
43 
44 // Base class
45 
46 void CoarsenMesh(const mesh &meshchild, mesh &newparent, const std::vector<int> &elmMapping);
47 void CartesianMapping(const mesh &meshin, std::vector<int> &elmMapping, std::vector<int> &dims);
48 void CartesianMapping2D(const mesh &meshin, std::vector<int> &elmMapping, std::vector<int> &dims);
49 void CartesianMapping3D(const mesh &meshin, std::vector<int> &elmMapping, std::vector<int> &dims);
50 // test functions
51 
52 int Test_MeshRefinement();
53 
54 #endif // MESH_H_INCLUDED
Class for mesh handling.
Definition: mesh.hpp:592
Provides all the mesh tools used for the generation of 3D grids and geometries.
void CoarsenMesh(const mesh &meshchild, mesh &newparent, const std::vector< int > &elmMapping)