Paul Heidmann Fractal Example  1.0
fractal::fractalParams< floatType > Class Template Reference

This class is a container class for the parameters that are used to generate a fractal. More...

#include <fractalParams.hpp>

Collaboration diagram for fractal::fractalParams< floatType >:

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< cmplxTypezerosLstType
 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...
 

Detailed Description

template<typename floatType>
class fractal::fractalParams< floatType >

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.

Template Parameters
floatTypeThe floating point type on which all parameters are based.
Author
Paul S. Heidmann

Definition at line 40 of file fractalParams.hpp.

Member Typedef Documentation

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

Constructor & Destructor Documentation

template<typename floatType >
fractal::fractalParams< floatType >::fractalParams ( )
delete
template<typename floatType >
fractal::fractalParams< floatType >::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 
)
inline

This is the constructor that must be used to create instances of this class.

Note
For a description of the parameters of this constructor, see the descriptions of the public, constant attributes of this class.

Definition at line 120 of file fractalParams.hpp.

template<typename floatType >
fractal::fractalParams< floatType >::~fractalParams ( )
inline

The class destructor.

Definition at line 143 of file fractalParams.hpp.

Member Data Documentation

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.

template<typename floatType >
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.


The documentation for this class was generated from the following file: