PABLO  0.1
PArallel Balanced Linear Octree
 All Classes Functions Variables Pages
Class_Map.hpp
1 #ifndef CLASS_MAP_HPP_
2 #define CLASS_MAP_HPP_
3 
4 #include "Class_Global.hpp"
5 #include "preprocessor_defines.dat"
6 #include <math.h>
7 #include <stdint.h>
8 #include <vector>
9 #include <string.h>
10 #include <map>
11 #include <iostream>
12 #include <vector>
13 #include <string.h>
14 
15 // =================================================================================== //
16 // NAME SPACES //
17 // =================================================================================== //
18 using namespace std;
19 
20 // =================================================================================== //
21 // CLASS DEFINITION //
22 // =================================================================================== //
23 
24 
41 template<int dim>
42 class Class_Map{
43 
44  // ------------------------------------------------------------------------------- //
45  // MEMBERS ----------------------------------------------------------------------- //
46 public:
47  double X0;
48  double Y0;
49  double Z0;
50  double L;
53  // ------------------------------------------------------------------------------- //
54  // CONSTRUCTORS ------------------------------------------------------------------ //
55 public:
59  Class_Map();
60 
68  Class_Map(double & X, double & Y, double & Z, double & LL);
69 
70  // ------------------------------------------------------------------------------- //
71  // METHODS ----------------------------------------------------------------------- //
72 
77  double mapX(uint32_t const & X);
78 
83  double mapY(uint32_t const & Y);
84 
89  double mapZ(uint32_t const & Z);
90 
95  uint32_t mapX(double const & X);
96 
101  uint32_t mapY(double const & Y);
102 
107  uint32_t mapZ(double const & Z);
108 
113  double mapSize(uint32_t const & size);
114 
119  double mapArea(uint64_t const & area);
120 
125  double mapVolume(uint64_t const & volume);
126 
131  void mapCenter(double* & center,
132  vector<double> & mapcenter);
133 
138  void mapCenter(vector<double> & center,
139  vector<double> & mapcenter);
140 
145  void mapNodes(uint32_t (*nodes)[3],
146  vector<vector<double> > & mapnodes);
147 
152  void mapNodes(vector<vector<uint32_t> > nodes,
153  vector<vector<double> > & mapnodes);
154 
159  void mapNode(vector<uint32_t> & node,
160  vector<double> & mapnode);
161 
166  void mapNodesIntersection(uint32_t (*nodes)[3],
167  vector<vector<double> > & mapnodes);
168 
173  void mapNodesIntersection(vector<vector<uint32_t> > nodes,
174  vector<vector<double> > & mapnodes);
175 
180  void mapNormals(vector<int8_t> normal,
181  vector<double> & mapnormal);
182  // ------------------------------------------------------------------------------- //
183 
184 };
185 
186 #include "Class_Map.tpp"
187 
188 // end class_map
189 
190 #endif /* CLASS_MAP_HPP_ */
Class_Global< dim > globals
Definition: Class_Map.hpp:51
double X0
Definition: Class_Map.hpp:47
Global variables used in PABLO.
double Z0
Definition: Class_Map.hpp:49
double Y0
Definition: Class_Map.hpp:48
Transformation Mapper.
Definition: Class_Map.hpp:42
double L
Definition: Class_Map.hpp:50