Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image_Cuda / src / cpp / core / 03_Event / moo / host / Event.cu
1 #include <iostream>\r
2 #include <assert.h>\r
3 \r
4 #include "Event.h"\r
5 #include "Device.h"\r
6 #include "MathTools.h"\r
7 \r
8 using std::cout;\r
9 using std::endl;\r
10 \r
11 /*----------------------------------------------------------------------*\\r
12  |*                     Declaration                                     *|\r
13  \*---------------------------------------------------------------------*/\r
14 \r
15 /*--------------------------------------*\\r
16  |*             Imported                *|\r
17  \*-------------------------------------*/\r
18 \r
19 extern __global__ void event(uchar4* ptrDevPixels,int w, int h,DomaineMath domaineMath,float t);\r
20 \r
21 /*--------------------------------------*\\r
22  |*             Public                  *|\r
23  \*-------------------------------------*/\r
24 \r
25 /*--------------------------------------*\\r
26  |*             Private                 *|\r
27  \*-------------------------------------*/\r
28 \r
29 /*----------------------------------------------------------------------*\\r
30  |*                     Implementation                                  *|\r
31  \*---------------------------------------------------------------------*/\r
32 \r
33 /*--------------------------------------*\\r
34  |*             Public                  *|\r
35  \*-------------------------------------*/\r
36 \r
37 /*-------------------------*\\r
38  |*     Constructeur        *|\r
39  \*-------------------------*/\r
40 \r
41 Event::Event(int w, int h, float dt)\r
42     {\r
43     // Inputs\r
44     this->w = w;\r
45     this->h = h;\r
46 \r
47     // Tools\r
48     this->dg = dim3(8, 8, 1); // disons a optimiser\r
49     this->db = dim3(16, 16, 1); // disons a optimiser\r
50     this->t = 0;\r
51     ptrDomaineMathInit = new DomaineMath(0, 0, 10, 10);\r
52 \r
53     //Outputs\r
54     this->title = "[API Image Cuda] : Event Window, try to clik on the window, and look console";\r
55 \r
56     // Check:\r
57     //print(dg, db);\r
58     Device::assertDim(dg, db);\r
59 \r
60     }\r
61 \r
62 Event::~Event()\r
63     {\r
64     // rien\r
65     }\r
66 \r
67 /*-------------------------*\\r
68  |*     Methode             *|\r
69  \*-------------------------*/\r
70 \r
71 /**\r
72  * Override\r
73  */\r
74 void Event::animationStep()\r
75     {\r
76     // rien\r
77     }\r
78 \r
79 /**\r
80  * Override\r
81  */\r
82 void Event::runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath)\r
83     {\r
84     event<<<dg,db>>>(ptrDevPixels,w,h,domaineMath,t);\r
85     }\r
86 \r
87 /*--------------*\\r
88  |*     get      *|\r
89  \*--------------*/\r
90 \r
91 \r
92 /**\r
93  * Override\r
94  */\r
95 DomaineMath* Event::getDomaineMathInit(void)\r
96     {\r
97     return ptrDomaineMathInit;\r
98     }\r
99 \r
100 /**\r
101  * Override\r
102  */\r
103 float Event::getT(void)\r
104     {\r
105     return t;\r
106     }\r
107 \r
108 /**\r
109  * Override\r
110  */\r
111 int Event::getW(void)\r
112     {\r
113     return w;\r
114     }\r
115 \r
116 /**\r
117  * Override\r
118  */\r
119 int Event::getH(void)\r
120     {\r
121     return h;\r
122     }\r
123 \r
124 /**\r
125  * Override\r
126  */\r
127 string Event::getTitle(void)\r
128     {\r
129     return title;\r
130     }\r
131 \r
132 \r
133 /*--------------------------------------*\\r
134  |*             Private                 *|\r
135  \*-------------------------------------*/\r
136 \r
137 /*----------------------------------------------------------------------*\\r
138  |*                     End                                             *|\r
139  \*---------------------------------------------------------------------*/\r
140 \r