Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image_Cuda / src / cpp / core / 01_Vague_smart / moo / host / Vague.h
1 #ifndef VAGUE_H_
2 #define VAGUE_H_
3
4 #include "cudaTools.h"
5 #include "Animable_I.h"
6 #include "MathTools.h"
7
8 /*----------------------------------------------------------------------*\
9 |* Declaration *|
10 \*---------------------------------------------------------------------*/
11
12 /*--------------------------------------*\
13 |* Public *|
14 \*-------------------------------------*/
15
16 class Vague: public Animable_I
17 {
18 /*--------------------------------------*\
19 |* Constructor *|
20 \*-------------------------------------*/
21
22 public:
23
24 Vague(int w, int h, float dt = 2 * PI / 1000);
25 virtual ~Vague(void);
26
27 /*--------------------------------------*\
28 |* Methodes *|
29 \*-------------------------------------*/
30
31 public:
32
33 /*----------------*\
34 |* Override *|
35 \*---------------*/
36
37 /**
38 * Override
39 * Call periodicly by the API
40 */
41 virtual void animationStep(void);
42
43 virtual void runGPU(uchar4* ptrDevPixels); // Override
44
45 virtual float getT(void); // Override
46 virtual int getW(void); // Override
47 virtual int getH(void); // Override
48
49 virtual string getTitle(void); // Override
50
51 /*--------------------------------------*\
52 |* Attributs *|
53 \*-------------------------------------*/
54
55 private:
56
57 // Inputs
58 int w;
59 int h;
60 float dt;
61
62 // Tools
63 dim3 dg;
64 dim3 db;
65 float t;
66
67 //Outputs
68 string title;
69 };
70
71 #endif
72
73 /*----------------------------------------------------------------------*\
74 |* End *|
75 \*---------------------------------------------------------------------*/