Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / BilatTools_Cuda_Image / src / core / cudaImageTools / fonctionel / cpp / ImageFonctionel.cpp
diff --git a/WCudaMSE/BilatTools_Cuda_Image/src/core/cudaImageTools/fonctionel/cpp/ImageFonctionel.cpp b/WCudaMSE/BilatTools_Cuda_Image/src/core/cudaImageTools/fonctionel/cpp/ImageFonctionel.cpp
new file mode 100755 (executable)
index 0000000..b002904
--- /dev/null
@@ -0,0 +1,103 @@
+#include <iostream>\r
+#include <assert.h>\r
+#include <math.h>\r
+\r
+#include "ImageFonctionel.h"\r
+#include "StringTools.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
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Implementation                                  *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+ImageFonctionel::ImageFonctionel(AnimableFonctionel_I* ptrAnimable, ColorRGB_01* ptrColorTitreRGB) :\r
+       ImageFonctionelMOOs_A(ptrAnimable->getW(), ptrAnimable->getH(), *ptrAnimable->getDomaineMathInit())\r
+    {\r
+    this->ptrAnimable = ptrAnimable;\r
+    this->ptrColorTitreRGB = ptrColorTitreRGB;\r
+\r
+    setEnableDomaineOverlay(true);\r
+    }\r
+\r
+ImageFonctionel::~ImageFonctionel(void)\r
+    {\r
+    delete ptrAnimable;\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+void ImageFonctionel::animationStep(bool& isNeedUpdateView)\r
+    {\r
+    // cout << "[CBI] : Image : animationStep" <<endl;\r
+\r
+    ptrAnimable->animationStep();\r
+    isNeedUpdateView = true; // true par default\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+void ImageFonctionel::fillImageGL(uchar4* ptrDevImageGL, int w, int h, const DomaineMath& domaineMath) // override\r
+    {\r
+    // cout << "[CBI] : Image : fillImageGL" <<endl;\r
+\r
+    ptrAnimable->runGPU(ptrDevImageGL, domaineMath);\r
+    }\r
+\r
+/**\r
+ * Override\r
+ */\r
+void ImageFonctionel::paintPrimitives(Graphic2Ds& graphic2D) // redefinition\r
+    {\r
+    const Font_A* ptrfont = graphic2D.getFont(TIMES_ROMAN_24);\r
+\r
+    float r = ptrColorTitreRGB->r;\r
+    float g = ptrColorTitreRGB->g;\r
+    float b = ptrColorTitreRGB->b;\r
+    graphic2D.setColorRGB(r, g, b);\r
+\r
+    // top\r
+       {\r
+       float t = ptrAnimable->getT();\r
+       string message = "t = " + StringTools::toString(t);\r
+       graphic2D.drawTitleTop(message, ptrfont);\r
+       }\r
+\r
+    // bottom\r
+       {\r
+       string title = ptrAnimable->getTitle();\r
+       graphic2D.drawTitleBottom(title, ptrfont);\r
+       }\r
+    }\r
+\r
+/*--------------------------------------*\\r
+ |*            Private                 *|\r
+ \*-------------------------------------*/\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r