+#ifndef DAMIER_H_\r
+#define HELLO_FONCTIONEL_H_\r
+\r
+#include "cudaTools.h"\r
+#include "AnimableFonctionel_I.h"\r
+#include "MathTools.h"\r
+#include "VariateurF.h"\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+class Damier: public AnimableFonctionel_I\r
+ {\r
+ /*--------------------------------------*\\r
+ |* Constructor *|\r
+ \*-------------------------------------*/\r
+\r
+ public:\r
+\r
+ Damier(int w, int h, float dt, int n);\r
+ virtual ~Damier(void);\r
+\r
+ /*--------------------------------------*\\r
+ |* Methodes *|\r
+ \*-------------------------------------*/\r
+\r
+ public:\r
+\r
+ /*----------------*\\r
+ |* Override *|\r
+ \*---------------*/\r
+\r
+\r
+ /**\r
+ * Override\r
+ * Call periodicly by the API\r
+ */\r
+ virtual void animationStep(void);\r
+\r
+ void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath); // Override\r
+\r
+ /**\r
+ * Para animation\r
+ */\r
+ float getT(void); // Override\r
+ int getW(void); // Override\r
+ int getH(void); // Override\r
+ DomaineMath* getDomaineMathInit(void); // Override\r
+ string getTitle(void); // Override\r
+\r
+\r
+\r
+ /*--------------------------------------*\\r
+ |* Attributs *|\r
+ \*-------------------------------------*/\r
+\r
+ private:\r
+\r
+ // Inputs\r
+ int w;\r
+ int h;\r
+ int n;\r
+\r
+ // Tools\r
+ dim3 dg;\r
+ dim3 db;\r
+ float t; // para animation\r
+ VariateurF variateurAnimation; // varier t\r
+ DomaineMath* ptrDomaineMathInit;\r
+\r
+ //Outputs\r
+ string title;\r
+ };\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r