+#include <iostream>\r
+#include <assert.h>\r
+\r
+#include "Vague.h"\r
+#include "Device.h"\r
+#include "MathTools.h"\r
+\r
+using std::cout;\r
+using std::endl;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Imported *|\r
+ \*-------------------------------------*/\r
+\r
+extern __global__ void vague(uchar4* ptrDevPixels,int w, int h,float t);\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Private *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Implementation *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+/*-------------------------*\\r
+ |* Constructeur *|\r
+ \*-------------------------*/\r
+\r
+Vague::Vague(int w, int h,float dt)\r
+ {\r
+ // Inputs\r
+ this->w = w;\r
+ this->h = h;\r
+ this->dt=dt;\r
+\r
+ // Tools\r
+ this->dg = dim3(8, 8, 1); // disons a optimiser\r
+ this->db = dim3(16, 16, 1); // disons a optimiser\r
+ this->t=0;\r
+\r
+ //Outputs\r
+ this->title="[API Image Cuda] : Vague CUDA";\r
+\r
+ // Check:\r
+ //print(dg, db);\r
+ Device::assertDim(dg, db);\r
+ assert(w== h);\r
+\r
+ cout << endl<<"[CBI] Vague dt =" << dt;\r
+ }\r
+\r
+Vague::~Vague()\r
+ {\r
+ // rien\r
+ }\r
+\r
+/*-------------------------*\\r
+ |* Methode *|\r
+ \*-------------------------*/\r
+\r
+/**\r
+ * Override\r
+ * Call periodicly by the API\r
+ */\r
+void Vague::animationStep()\r
+ {\r
+ t+=dt;\r
+ }\r
+\r
+/**\r
+ * Override\r
+ */\r
+void Vague::runGPU(uchar4* ptrDevPixels)\r
+ {\r
+ vague<<<dg,db>>>(ptrDevPixels,w,h,t);\r
+ }\r
+\r
+/*--------------*\\r
+ |* get *|\r
+ \*--------------*/\r
+\r
+/**\r
+ * Override\r
+ */\r
+float Vague::getT(void)\r
+ {\r
+ return t;\r
+ }\r
+\r
+/**\r
+ * Override\r
+ */\r
+int Vague::getW(void)\r
+ {\r
+ return w;\r
+ }\r
+\r
+/**\r
+ * Override\r
+ */\r
+int Vague::getH(void)\r
+ {\r
+ return h;\r
+ }\r
+\r
+/**\r
+ * Override\r
+ */\r
+string Vague::getTitle(void)\r
+ {\r
+ return title;\r
+ }\r
+\r
+/*--------------------------------------*\\r
+ |* Private *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r
+\r