jlb
Class JLB_ZCZDualTransform
Object
common:Generic
jlb:DualTransform
jlb:JLB_ZCZDualTransform
class
- DualTransform:JLB_ZCZDualTransform
ZCZDualTransform does three functions.
p_z calls to a function, new z = ZContraction(z, c)
p_c calls to a function, new c = CContraction(z, c)
p_t calls to a function, new z = UserTransform(z)
(Was UtilityTransform in version 100)
Ultra Fractal Source
Toggle UF Source Code Display
class JLB_ZCZDualTransform(DualTransform) {
; ZCZDualTransform does three functions.
; p_z calls to a function, new z = ZContraction(z, c)
; p_c calls to a function, new c = CContraction(z, c)
; p_t calls to a function, new z = UserTransform(z)
; (Was UtilityTransform in version 100)
public:
import "common.ulb"
import "mmf.ulb"
; @param pparent the parent, generally "this" for the parent, or zero
func JLB_ZCZDualTransform(Generic pparent)
DualTransform.DualTransform(pparent)
m_ZContraction = new @f_ZContraction(this)
m_CContraction = new @f_CContraction(this)
; m_UserTransform = new @f_UserTransform(this)
if (@v_ZCZDualTransform > 100)
m_UserTransform = new @f_UserTransform(this)
else
m_UtilityTransform = new @f_UtilityTransform(this)
endif
endfunc
; @param pz
; @param pc
; @return true if okay; possibly change both arguments
bool func Iterate(complex &pz, complex &pc)
int i
i = 0
while (i < @p_z)
pz = m_ZContraction.Iterate(pz, pc)
i = i + 1
endwhile
i = 0
while (i < @p_c)
pc = m_CContraction.Iterate(pz, pc)
i = i + 1
endwhile
if (@v_ZCZDualTransform > 100)
i = 0
while (i < @p_t)
pz = m_UserTransform.Iterate(pz)
i = i + 1
endwhile
else
i = 0
while (i < @p_t)
pz = m_UtilityTransform.Iterate(pz)
i = i + 1
endwhile
endif
return true
endfunc
protected:
Contraction m_ZContraction
Contraction m_CContraction
UserTransform m_UserTransform
UtilityTransform m_UtilityTransform
default:
title = "ZCZ DualTransform"
int param v_ZCZDualTransform
caption = "Version (ZCZDualTransform)"
default = 101
hint = "This version parameter is used to detect when a change has \
been made to the formula that is incompatible with the \
previous version. When that happens, this field will reflect \
the old version number to alert you to the fact that an \
alternate rendering is being used."
visible = @v_ZCZDualTransform < 101
endparam
Heading
Endheading
Heading
caption = "New z based on z and c"
Endheading
int param p_z
caption = "Times"
min = 0
default = 1
endparam
Contraction param f_ZContraction
caption = "z/c -> new z"
default = JLB_MandelbrotContraction
; hint = "The default Null Contraction does nothing."
endparam
Heading
caption = "New c based on z and c"
Endheading
int param p_c
caption = "Times"
min = 0
default = 0
endparam
Contraction param f_CContraction
caption = "z/c -> new c"
default = JLB_NullCContraction
hint = "The default Null Contraction does nothing."
endparam
Heading
caption = "New z based on z"
Endheading
int param p_t
caption = "Times"
min = 0
default = 0
endparam
UserTransform param f_UserTransform
caption = "z -> new z"
default = JLB_NullUserTransform
hint = "The default Null Transform does nothing."
visible = (@v_ZCZDualTransform > 100)
endparam
UtilityTransform param f_UtilityTransform
caption = "z -> new z"
default = JLB_NullUtilityTransform
hint = "The default Null Transform does nothing."
visible = (@v_ZCZDualTransform < 101)
endparam
Heading
Endheading
}
Methods inherited from class Object |
|
JLB_ZCZDualTransform
public JLB_ZCZDualTransform(Generic pparent)
- Parameters:
pparent
- the parent, generally "this" for the parent, or zero
JLB_ZCZDualTransform
public JLB_ZCZDualTransform()
Iterate
public boolean Iterate(complex pz,
complex pc)
- Overrides:
Iterate
in class DualTransform
- Parameters:
pz
- pc
-
- Returns:
- true if okay; possibly change both arguments