TP fractalTP fractal..
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 02_Mandelbrot_Julia / moo / host / Fractal.h
index 4dbfe65..d9b8841 100755 (executable)
@@ -9,36 +9,59 @@
 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
-       int getW() /*override*/;\r
-       int getH() /*override*/;\r
-       DomaineMath* getDomaineMathInit() /*override*/;\r
+        string getTitle(void) /*override*/;\r
 \r
-       float getT() /*override*/;\r
-       string getTitle(void) /*override*/;\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
+        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, float dn);\r
+        void animationStep();\r
+        float getT() /*override*/;\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
-       // Tools\r
-       const dim3 dg;\r
-       const dim3 db;\r
-       float t;\r
+        VariateurF variateurAnimationN;\r
 \r
-       VariateurF variateurAnimation;\r
-       DomaineMath* ptrDomaineMathInit;\r
+        float n;\r
+    };\r
+\r
+class FractalJulia : public Fractal\r
+    {\r
+    public:\r
+        FractalJulia(int w, int h, float dn, float z_r_min, float z_r_max, float z_i_min, float z_i_max);\r
+        void animationStep();\r
+        float getT() /*override*/;\r
+\r
+    private:\r
+        void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/;\r
 \r
-       // Outputs\r
-       const string title;\r
+        float z_r, z_i;\r
+        VariateurF variateurAnimationI;\r
+        VariateurF variateurAnimationR;\r
     };\r
 \r
 #endif\r