jlb
Class JLB_ZCZDualTransform

Object
  extended by common:Generic
      extended by jlb:DualTransform
          extended by 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
 }
 


Constructor Summary
JLB_ZCZDualTransform()
           
JLB_ZCZDualTransform(Generic pparent)
           
 
Method Summary
 boolean Iterate(complex pz, complex pc)
           
 
Methods inherited from class jlb:DualTransform
Init
 
Methods inherited from class common:Generic
GetParent
 
Methods inherited from class Object
 

Constructor Detail

JLB_ZCZDualTransform

public JLB_ZCZDualTransform(Generic pparent)
Parameters:
pparent - the parent, generally "this" for the parent, or zero

JLB_ZCZDualTransform

public JLB_ZCZDualTransform()
Method Detail

Iterate

public boolean Iterate(complex pz,
                       complex pc)
Overrides:
Iterate in class DualTransform
Parameters:
pz -
pc -
Returns:
true if okay; possibly change both arguments