--- /dev/null
+#ifndef VAGUE_MATH_H_\r
+#define VAGUE_MATH_H_\r
+\r
+#include "cudaType.h"\r
+#include "MathTools.h"\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+/**\r
+ * Dans un header only pour preparer la version cuda\r
+ */\r
+class VagueMath\r
+ {\r
+\r
+ /*--------------------------------------*\\r
+ |* Constructeur *|\r
+ \*-------------------------------------*/\r
+\r
+ public:\r
+\r
+ VagueMath(unsigned int w, unsigned int h)\r
+ {\r
+ this->factor = 4 * PI / (float) w;\r
+ }\r
+\r
+ virtual ~VagueMath(void)\r
+ {\r
+ //rien\r
+ }\r
+\r
+ /*--------------------------------------*\\r
+ |* Methode *|\r
+ \*-------------------------------------*/\r
+\r
+ public:\r
+\r
+ /**\r
+ * i in [0,h[\r
+ * j in [0,w[\r
+ * code commun �\r
+ * entrelacementOMP\r
+ * forAutoOMP\r
+ */\r
+ void colorIJ(uchar4* ptrColorIJ, int i, int j, int t)\r
+ {\r
+ unsigned char levelGris;\r
+\r
+ f(levelGris,i, j, t); // update levelGris\r
+\r
+ ptrColorIJ->x = levelGris;\r
+ ptrColorIJ->y = levelGris;\r
+ ptrColorIJ->z = levelGris;\r
+\r
+ ptrColorIJ->w = 255; // opaque\r
+ }\r
+\r
+ private:\r
+\r
+ void f( unsigned char& levelGris,int i, int j, float t)\r
+ {\r
+ // example1\r
+ // levelGris = 255 * fabs(sin(t)); // same color for all the image (Hello image)\r
+\r
+ // Example2\r
+ levelGris = 255 * fabs(sin(i * factor + t));\r
+ }\r
+\r
+ /*--------------------------------------*\\r
+ |* Attribut *|\r
+ \*-------------------------------------*/\r
+\r
+ private:\r
+\r
+ // Inputs\r
+ float factor;\r
+\r
+ };\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ /*----------------------------------------------------------------------*/\r