CC-Fractal-Suite
Mandelbrot.h
Go to the documentation of this file.
1 
5 #pragma once
6 
7  // Local
8 #include "Fractal.h"
9 #include "FractalSpace.h"
10 
11 // STL
12 #include <complex>
13 
14 // HDK
15 #include <UT/UT_Vector2.h>
16 
17 
18 namespace CC
19 {
26 class Mandelbrot : public Fractal
27 {
28 public:
30 
31  Mandelbrot() = default;
32  Mandelbrot(MandelbrotStashData& mandelData);
33 
34  virtual ~Mandelbrot();
35 
37  virtual FractalCoordsInfo calculate(COMPLEX coords) override;
38 
45 };
46 
53 class Pickover : public Mandelbrot
54 {
55 public:
59 
60  Pickover() = default;
61  Pickover(PickoverStashData& pickoverData);
62 
63  virtual FractalCoordsInfo calculate(COMPLEX coords);
64 
67  fpreal distance_to_point(COMPLEX z, COMPLEX point);
68 
72  fpreal distance_to_line(COMPLEX z, COMPLEX offset, fpreal theta);
73 };
74 }
virtual FractalCoordsInfo calculate(COMPLEX coords) override
Calculates the Mandelbrot fractal.
Definition: Mandelbrot.cpp:22
Header-only include that defines base Fractal objects.
std::complex< fpreal64 > COMPLEX
Double precision complex numbers, as defined by the HDK.
Definition: typedefs.h:25
Header that manages the transformations of fractals, and convertion from picture-plane (WORLDPIXEL) s...
PickoverStashData data
PickoverStashData, like Pickover, is subclassed from a Mandelbrot related object. ...
Definition: Mandelbrot.h:58
A small container struct for fractal output.
Definition: Fractal.h:21
COMPLEX calculate_z(COMPLEX z, COMPLEX c)
Calculate Z runs only the fractal math calculation.
Definition: Mandelbrot.cpp:55
Base class for fractals.
Definition: Fractal.h:35
Class implementing the Mandelbrot fractal.
Definition: Mandelbrot.h:26
Struct that stashes the data required to create a Pickover Fractal.
Definition: StashData.h:110
Struct that stashes the data required to construct a Mandelbrot Fractal.
Definition: StashData.h:75
Definition: COP2_Buddhabrot.h:17
Class that implements the &#39;Pickover Stalk&#39; fractal.
Definition: Mandelbrot.h:53