Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / Tuto_Image_Cuda / src / cpp / core / 03_Event / moo / host / Event.cu
diff --git a/WCudaMSE/Tuto_Image_Cuda/src/cpp/core/03_Event/moo/host/Event.cu b/WCudaMSE/Tuto_Image_Cuda/src/cpp/core/03_Event/moo/host/Event.cu
new file mode 100755 (executable)
index 0000000..e124918
--- /dev/null
@@ -0,0 +1,140 @@
+#include <iostream>\r
+#include <assert.h>\r
+\r
+#include "Event.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 event(uchar4* ptrDevPixels,int w, int h,DomaineMath domaineMath,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
+Event::Event(int w, int h, float dt)\r
+    {\r
+    // Inputs\r
+    this->w = w;\r
+    this->h = h;\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
+    ptrDomaineMathInit = new DomaineMath(0, 0, 10, 10);\r
+\r
+    //Outputs\r
+    this->title = "[API Image Cuda] : Event Window, try to clik on the window, and look console";\r
+\r
+    // Check:\r
+    //print(dg, db);\r
+    Device::assertDim(dg, db);\r
+\r
+    }\r
+\r
+Event::~Event()\r
+    {\r
+    // rien\r
+    }\r
+\r
+/*-------------------------*\\r
+ |*    Methode             *|\r
+ \*-------------------------*/\r
+\r
+/**\r
+ * Override\r
+ */\r
+void Event::animationStep()\r
+    {\r
+    // rien\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+void Event::runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath)\r
+    {\r
+    event<<<dg,db>>>(ptrDevPixels,w,h,domaineMath,t);\r
+    }\r
+\r
+/*--------------*\\r
+ |*    get      *|\r
+ \*--------------*/\r
+\r
+\r
+/**\r
+ * Override\r
+ */\r
+DomaineMath* Event::getDomaineMathInit(void)\r
+    {\r
+    return ptrDomaineMathInit;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+float Event::getT(void)\r
+    {\r
+    return t;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+int Event::getW(void)\r
+    {\r
+    return w;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+int Event::getH(void)\r
+    {\r
+    return h;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+string Event::getTitle(void)\r
+    {\r
+    return title;\r
+    }\r
+\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r
+\r