bd6882fec35979707be2000677db0d0132a9918b
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 05_HeatTransfert / moo / host / HeatTransfert.h
1 #ifndef HEAT_TRANSFERT_H_
2 #define HEAT_TRANSFERT_H_
3
4 #include "cudaTools.h"
5 #include "Animable_I.h"
6 #include "MathTools.h"
7 #include "CalibreurF.h"
8
9 #include "HeatImage.h"
10
11 class HeatTransfert : public Animable_I
12 {
13 static const int NB_ITERATION_AVEUGLE = 1000;
14
15 public:
16 HeatTransfert(int w, int h);
17 virtual ~HeatTransfert();
18
19 void runGPU(uchar4* ptrDevPixels) /*override*/;
20 void animationStep() /*override*/;
21
22 int getW() /*override*/;
23 int getH() /*override*/;
24
25 float getT() /*override*/;
26
27 string getTitle(void) /*override*/;
28
29 private:
30 static void setHeaters(HeatImage& image);
31
32 CalibreurF calibreur;
33
34 HeatImage devImageHeaters;
35 HeatImage devImageA;
36 HeatImage devImageB;
37
38 int t;
39
40 const dim3 dg;
41 const dim3 db;
42
43 const string title;
44 };
45
46 #endif