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