Paul Heidmann Fractal Example
1.0
|
This class is a container class for the parameters that are used to generate a fractal. More...
#include <fractalParams.hpp>
Public Types | |
typedef std::complex< floatType > | cmplxType |
This type is used to declare variables that hold the complex numbers used in the fractal computations. More... | |
typedef std::function < cmplxType(const cmplxType &)> | funcType |
This type is used to declare variables that hold the function that defines the factal (and its derivative). More... | |
typedef std::vector< cmplxType > | zerosLstType |
This type is used to declare variables that hold the list of zeros of the function being used to generate the fractal (yes, these need to be known in advance). More... | |
typedef std::tuple < std::uint8_t, std::uint8_t, std::uint8_t > | colorType |
This type is used to declare variables that hold the color of a given pixel in the fractal. More... | |
typedef std::function < colorType(const std::uint32_t, const std::complex< floatType > &, const std::uint32_t)> | colorMapFuncType |
This type is used to define variables that hold functions that map fractal computation results to a color. More... | |
Public Member Functions | |
fractalParams ()=delete | |
fractalParams (const cmplxType &lwrLftExtnt, const cmplxType &upprRghtExtnt, const cmplxType &dlt, const floatType &zEpsln, const funcType &fractalFunc, const funcType &derivativeFractalFunc, const zerosLstType &fractalFuncZeros, const std::uint32_t maxIters, const colorMapFuncType &clrMapFunc) | |
This is the constructor that must be used to create instances of this class. More... | |
~fractalParams () | |
The class destructor. More... | |
Public Attributes | |
const cmplxType | lowerLeftExtent |
This constant attribute holds the lower left coordinate of the fractal in the complex plain. More... | |
const cmplxType | upperRightExtent |
This constant attribute holds the upper right coordinate of the fractal in the complex plain. More... | |
const cmplxType | delta |
This constant attribute holds the distance between points in the fractal. Note that this is a complex number, with the real portion being the distance between the real components of two neighboring points, and the imaginary component being the distance between the imaginary components of two neighboring points. More... | |
const floatType | zeroEpsilon |
This constant attribute holds the required accuracy that Newton's method is required to produce when searching for a zero. More... | |
const funcType | f |
This constant attribute holds the function used to produce the fractal. More... | |
const funcType | f_prime |
This constant attribute holds the derivative of the function used to produce the fractal. More... | |
const zerosLstType | f_zeros |
This constant attribute holds the list of zeros of the function that is generating the fractal. More... | |
const std::uint32_t | maxIterations |
This constant attribute holds the maximum number of iterations that Newton's method is allowed. More... | |
const colorMapFuncType | colorMapFunc |
This constant attribute holds the function that maps the output of Newton's method to a color. More... | |
This class is a container class for the parameters that are used to generate a fractal.
This class is a container class for all of the parameters needed to generate a fractal.
floatType | The floating point type on which all parameters are based. |
Definition at line 40 of file fractalParams.hpp.
typedef std::complex<floatType> fractal::fractalParams< floatType >::cmplxType |
This type is used to declare variables that hold the complex numbers used in the fractal computations.
Definition at line 46 of file fractalParams.hpp.
typedef std::function<colorType( const std::uint32_t, const std::complex<floatType>&, const std::uint32_t)> fractal::fractalParams< floatType >::colorMapFuncType |
This type is used to define variables that hold functions that map fractal computation results to a color.
In these functions, the first parameter is the maximum number of iterations allowed. The second parameter is the zero reached. The third parameter is the actual number of iterations.
Definition at line 70 of file fractalParams.hpp.
typedef std::tuple<std::uint8_t, std::uint8_t, std::uint8_t> fractal::fractalParams< floatType >::colorType |
This type is used to declare variables that hold the color of a given pixel in the fractal.
Definition at line 59 of file fractalParams.hpp.
typedef std::function<cmplxType(const cmplxType&)> fractal::fractalParams< floatType >::funcType |
This type is used to declare variables that hold the function that defines the factal (and its derivative).
Definition at line 50 of file fractalParams.hpp.
typedef std::vector<cmplxType> fractal::fractalParams< floatType >::zerosLstType |
This type is used to declare variables that hold the list of zeros of the function being used to generate the fractal (yes, these need to be known in advance).
Definition at line 55 of file fractalParams.hpp.
|
delete |
|
inline |
This is the constructor that must be used to create instances of this class.
Definition at line 120 of file fractalParams.hpp.
|
inline |
The class destructor.
Definition at line 143 of file fractalParams.hpp.
const colorMapFuncType fractal::fractalParams< floatType >::colorMapFunc |
This constant attribute holds the function that maps the output of Newton's method to a color.
Definition at line 111 of file fractalParams.hpp.
const cmplxType fractal::fractalParams< floatType >::delta |
This constant attribute holds the distance between points in the fractal. Note that this is a complex number, with the real portion being the distance between the real components of two neighboring points, and the imaginary component being the distance between the imaginary components of two neighboring points.
Definition at line 86 of file fractalParams.hpp.
const funcType fractal::fractalParams< floatType >::f |
This constant attribute holds the function used to produce the fractal.
Definition at line 95 of file fractalParams.hpp.
const funcType fractal::fractalParams< floatType >::f_prime |
This constant attribute holds the derivative of the function used to produce the fractal.
Definition at line 99 of file fractalParams.hpp.
const zerosLstType fractal::fractalParams< floatType >::f_zeros |
This constant attribute holds the list of zeros of the function that is generating the fractal.
Definition at line 103 of file fractalParams.hpp.
const cmplxType fractal::fractalParams< floatType >::lowerLeftExtent |
This constant attribute holds the lower left coordinate of the fractal in the complex plain.
Definition at line 74 of file fractalParams.hpp.
const std::uint32_t fractal::fractalParams< floatType >::maxIterations |
This constant attribute holds the maximum number of iterations that Newton's method is allowed.
Definition at line 107 of file fractalParams.hpp.
const cmplxType fractal::fractalParams< floatType >::upperRightExtent |
This constant attribute holds the upper right coordinate of the fractal in the complex plain.
Definition at line 78 of file fractalParams.hpp.
const floatType fractal::fractalParams< floatType >::zeroEpsilon |
This constant attribute holds the required accuracy that Newton's method is required to produce when searching for a zero.
Definition at line 91 of file fractalParams.hpp.