CC-Fractal-Suite
Classes | Macros
FractalNode.h File Reference

Header-only include that generically declares a ton of static variables and Parm Template Macros for parameters to be used all across the CCFS. More...

#include "typedefs.h"
#include <string>
#include <sstream>
#include <iomanip>
#include <PRM/PRM_Include.h>
#include <PRM/PRM_ChoiceList.h>
#include <OP/OP_Network.h>
#include <CH/CH_Manager.h>
#include <COP2/COP2_Common.h>

Go to the source code of this file.

Classes

class  CC::OP
 OP is meant to remove the need to write public 'myConstructor' methods in every class like the examples. More...
 
struct  CC::MultiXformData
 A simple container struct that represents the total output of a MultiXform transformation. More...
 

Macros

#define TEMPLATE_SWITCHER
 
#define TEMPLATES_XFORM
 Macro for creating Xform Templates for myTemplateList calls. More...
 
#define TEMPLATES_XFORM_MULTI
 Macro for creating Multi-Xform parameters Add 1 to COP_SWITCHER calls. More...
 
#define TEMPLATES_XFORM_BUDDHABROT
 Macro for creating the Xform Parameters, which have removed the Xord option and set more appropriate defaults for Buddhabrots. More...
 
#define TEMPLATES_MANDELBROT
 Macro for creating Mandelbrot Templates. More...
 
#define TEMPLATES_PICKOVER
 Macro for creating Pickover Templates. More...
 
#define TEMPLATES_LYAPUNOV
 Macro for creating Lyapunov Templates. More...
 

Detailed Description

Header-only include that generically declares a ton of static variables and Parm Template Macros for parameters to be used all across the CCFS.

Macro Definition Documentation

§ TEMPLATE_SWITCHER

#define TEMPLATE_SWITCHER
Value:
PRM_Template(PRM_SWITCHER, 4, \
&PRMswitcherName, switcher)

§ TEMPLATES_LYAPUNOV

#define TEMPLATES_LYAPUNOV
Value:
PRM_Template(PRM_INT_J, TOOL_PARM, 1, \
&nameIter, &defaultIter, 0, &rangeLyaIters), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&nameLyaStart, &defaultLyaStart, 0, &rangeLyaStartValue), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&nameLyaMaxValue, &defaultLyaMaxValue, 0, &rangeLyaMaxValue), \
PRM_Template(PRM_TOGGLE_J, TOOL_PARM, 1, \
&nameLyaInvertNegative, PRMoneDefaults), \
PRM_Template(PRM_MULTITYPE_LIST, multiparmSeqTemps, 1, \
&nameLyaSeq, PRMoneDefaults, &rangeLyaSeq)

Macro for creating Lyapunov Templates.

Add 5 to COP_SWITCHER calls.

§ TEMPLATES_MANDELBROT

#define TEMPLATES_MANDELBROT
Value:
PRM_Template(PRM_INT_J, TOOL_PARM, 1, \
&nameIter, &defaultIter, 0, &rangeIter), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&namePower, &defaultPower, 0, &rangePower), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&nameBailout, &defaultBailout, 0, &rangeBailout), \
PRM_Template(PRM_TOGGLE_J, TOOL_PARM, 1, \
&nameBlackhole, PRMzeroDefaults), \
PRM_Template(PRM_SEPARATOR, TOOL_PARM, 1, \
&nameSeparatorMandelbrot, PRMzeroDefaults), \
PRM_Template(PRM_INT_J, TOOL_PARM, 1, \
&nameJDepth, PRMzeroDefaults, 0, &rangeJDepth), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 2, \
&nameJOffset, PRMzeroDefaults)

Macro for creating Mandelbrot Templates.

Add 7 to COP_SWITCHER calls

§ TEMPLATES_PICKOVER

#define TEMPLATES_PICKOVER
Value:
PRM_Template(PRM_SEPARATOR, TOOL_PARM, 1, &nameSepB), \
PRM_Template(PRM_INT_J, TOOL_PARM, 1, \
&namePoMode, PRMoneDefaults, &poModeMenu), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 2, \
&namePoPoint, PRMzeroDefaults), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&namePoLineRotate, PRMzeroDefaults, 0, &rangePoRotate), \
PRM_Template(PRM_TOGGLE_J, TOOL_PARM, 1, \
&namePoReference, PRMzeroDefaults), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&namePoRefSize, &defaultPoRefSize, 0, &rangePoRefSize)

Macro for creating Pickover Templates.

Add 6 to COP_SWITCHER calls. Pickovers are dependent on TEMPLATES_MANDELBROT also being declared in the template argument array.

§ TEMPLATES_XFORM

#define TEMPLATES_XFORM
Value:
PRM_Template(PRM_INT_J, TOOL_PARM, 1, \
&nameXOrd, &defaultXOrd, &xOrdMenu), \
PRM_Template(PRM_FLT_LOG, TOOL_PARM, 1, \
&nameScale, &defaultScale, 0, &rangeScale), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 2, \
&nameOffset, defaultOffset), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&nameRotate, PRMzeroDefaults, 0, &rangeRotate)

Macro for creating Xform Templates for myTemplateList calls.

Add 4 to COP_SWITCHER calls.

§ TEMPLATES_XFORM_BUDDHABROT

#define TEMPLATES_XFORM_BUDDHABROT
Value:
PRM_Template(PRM_FLT_LOG, TOOL_PARM, 1, \
&nameScale, &defaultScale, 0, &rangeScale), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 2, \
&nameOffset, defaultOffsetBuddhabrot), \
PRM_Template(PRM_FLT_J, TOOL_PARM, 1, \
&nameRotate, PRMzeroDefaults, 0, &rangeRotate)

Macro for creating the Xform Parameters, which have removed the Xord option and set more appropriate defaults for Buddhabrots.

§ TEMPLATES_XFORM_MULTI

#define TEMPLATES_XFORM_MULTI
Value:
PRM_Template(PRM_MULTITYPE_LIST, multiparmXformTemps, 1, \
&nameXforms, PRMzeroDefaults)

Macro for creating Multi-Xform parameters Add 1 to COP_SWITCHER calls.