Cleanage.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 02_Mandelbrot_Julia / moo / host / Fractal.h
index 4dbfe65..5ad7b83 100755 (executable)
@@ -1,44 +1,76 @@
 #ifndef FRACTAL_H_\r
 #define FRACTAL_H_\r
 \r
+#include <vector>\r
+#include <string>\r
+\r
 #include "cudaTools.h"\r
 #include "AnimableFonctionel_I.h"\r
 #include "MathTools.h"\r
+#include "VariateurI.h"\r
 #include "VariateurF.h"\r
 \r
 class Fractal : public AnimableFonctionel_I\r
     {\r
     public:\r
-       Fractal(int w, int h, float dt, int n);\r
-       virtual ~Fractal(void);\r
+        Fractal(int w, int h);\r
+        virtual ~Fractal();\r
 \r
     public:\r
-       void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;\r
-       void animationStep() /*override*/;\r
+        int getW() /*override*/;\r
+        int getH() /*override*/;\r
+        DomaineMath* getDomaineMathInit() /*override*/;\r
+\r
+        string getTitle(void) /*override*/;\r
+\r
+    protected:\r
+        // Inputs\r
+        const int w;\r
+        const int h;\r
+\r
+        // Tools\r
+        const dim3 dg;\r
+        const dim3 db;\r
 \r
-       int getW() /*override*/;\r
-       int getH() /*override*/;\r
-       DomaineMath* getDomaineMathInit() /*override*/;\r
+        DomaineMath* ptrDomaineMathInit;\r
+\r
+        // Outputs\r
+        const string title;\r
+    };\r
+\r
+class FractalMandelbrot : public Fractal\r
+    {\r
+    public:\r
+        FractalMandelbrot(int w, int h, int dn);\r
+        void animationStep();\r
 \r
-       float getT() /*override*/;\r
-       string getTitle(void) /*override*/;\r
+        std::vector<std::string> getNames();\r
+        void getValues(float* values);\r
 \r
     private:\r
-       // Inputs\r
-       const int w;\r
-       const int h;\r
-       int n;\r
+        void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;\r
+\r
+        VariateurI variateurAnimationN;\r
+        int n;\r
+    };\r
+\r
+class FractalJulia : public Fractal\r
+    {\r
+    public:\r
+        FractalJulia(int w, int h, int n, float z_r_min, float z_r_max, float z_i_min, float z_i_max);\r
+        void animationStep();\r
 \r
-       // Tools\r
-       const dim3 dg;\r
-       const dim3 db;\r
-       float t;\r
+        std::vector<std::string> getNames();\r
+        void getValues(float* values);\r
+\r
+    private:\r
+        void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;\r
 \r
-       VariateurF variateurAnimation;\r
-       DomaineMath* ptrDomaineMathInit;\r
+        const int n;\r
 \r
-       // Outputs\r
-       const string title;\r
+        float z_r, z_i;\r
+        VariateurF variateurAnimationI; // Variateur pour z_i.\r
+        VariateurF variateurAnimationR; // Variateur pour z_r.\r
     };\r
 \r
 #endif\r