; This is a generic object class. Most of the other classes
; derive from this class. Its primary purpose is to act as
; glue between all of the objects that are used within a
; formula.
;
; Each class in UF derives from the built-in Object class,
; so this class may seem a bit redundant. But eventually
; this class will be extended to include some parameter-passing
; functions, which will require all major classes to derive
; from a common extensible parent. If your class is intended
; to be user-selectable and has any user-selectable parameters
; at all, you should probably derive it from this class.
::SOBOHin29JVwKuNMQ0zrh8PM4LbCECpX72AbZhtX7hS7xFZpxRqILJklcI/9dGJ5kdbheJ2Z
88ezbezbTXIPYNyPvp7hngX8u5UMLT+I//StnDioYCC0D0lABExRkeViQyDJNC+hfjyEIjoI
ZcnL1c4lW9ng01gRKs2r7hHTaz8jEvjZnE+G6woRut9cdG7ov/w0bfvOwTrlpqoTxA30VU2r
YSqhmuqD7uqjYKHd/H5m0immRFwyaVvF8X9ZQKcE6QpD7VQEC0vlOZRkMe3KlRcObL7+dZ8u
BndJjlkiLbtw2j7Aiiq+Q1eQ4U/tuK4PLWwqXywa7ziwmRGP/h+kP03wdgws6jNzNVdwtF/s
hf1W/oZGi+ExBqqxgv+vm2Hc53Pr7EupThjCyHYSMUz1gzybnrtyqQKCFf7E0/TMOzvue931
zN0oga4THPyF0mSGo/Hsvv0wUYGTYkdi8MfA9gC5dAuoR+sL1C3ZE0iZYApKTC1tlZ0HnyWR
NCQMYcS/UgCvDWEuYS66KHxFjPfbqHgfxUXAppwA6m33iDG0qIglz0oteFpDKVcVxu80AJXS
ACLGTl81qaErpRKvJs0W5oEHxkTR+ClpM8Kwvwb6hiNtYmLi9E88N/F+SzzIgFDaT3fAK0US
XA==
}
common.ulb:class:Transform(Generic) {
; Transform base class.
;
; This is a generic transform class. Its purpose is to take
; an arbitrary point and transform it into some other point.
; This roughly corresponds to UF's native transformation
; formula type. The advantage to writing a transform as a
; class is that then it can be used in many other places.
; Transform classes also support the notion that a sequence
; may yield a "solid" point, just as UF's transformation
; formulas do.
;
; If you are migrating an existing transformation formula
; to a Transform-derived class, the process is fairly
; straightforward. Look at your global: and transform:
; sections. Any variables that are shared between the two
; should be declared in your protected: class section.
; The code in your global: section goes into the constructor.
; The code in your transform: section goes into the Iterate()
; function. Use m_Solid in place of #solid and use pz in
; place of #pixel. Whenever possible, try to avoid using
; other built-in values like #width or #screenpixel as this
; will make your class behave oddly when not being used to
; transform an entire fractal.
;
; As an extra optional step, you may look at what you've
; placed in your Iterate() function and decide to refactor it.
; With a transformation formula, the transform: section is
; used only once per pixel. However, a Transform object can
; be used for this AND used to transform an entire sequence
; of values (for example, the entire sequence of iterated
; values from a fractal formula). If there are some computations
; you perform for your transformation that will be exactly the
; same for each of the values in that sequence, you may move
; them to the Init() function; this will improve the performance
; of your formula. Any variables holding the results of these
; computations will need to be declared in your protected:
; section so that they will be available to the Iterate()
; function.
;
; IMPORTANT NOTE: If your transform is intended to be a
; user-selected class, you should probably derive from the
; UserTransform class rather than directly from Transform.
; The Transform family also includes UtilityTransform and
; ClipShape, so objects looking to allow Transforms will
; normally require them to be in the UserTransform subclass.
::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
BdSrYaaQHYwer49z4Yx7ysGMlpoX+i/DdbEZhC==
}
common.ulb:class:UserTransform(Transform) {
; User-selectable Transform base class.
;
; This class adds no new functionality to the Transform class.
; Its purpose is to provide a grouping for user-selectable
; Transform objects that actually transform complex points.
::wUl1yjn2dFVTvJMMM0zUp+fwiLASIE76YIh0Os/AstjTupukMlmElmUE/7ndWp7jT19F7375
nXUXFyNWj6x6qFHgn9uhUMrS+o8fB7UAjYPE4PkLBIEpOiLVEk8QSTgv5TSlAVkwkxdpg5or
T4Hg0tgRhW7ttwqk2Msi5tL7UwrDU8cEdDd+Y/6XIHFNq7Kth7ax8r7+pvf9O5aFi4q6qWqD
z2ksIG2nf76xPysGp7zKUqwQy4dwRY5bUcQKX/HjsZp02EdcbPsfvAoFW5hOzbAMONZRFKRR
gBZpalMplB484qmcccp0o7CBacAaIGpHbnTORusF5aMJMYcKffgTxGLBXNJdprQkGN+8sq7g
3FqLDpxQgcDbBJYhODZb5BtW5KZFXUOQM4dH7y9NsdZDgWOZgb+8sbwS/MrIbcLvVOMRMTuW
+wwHWjsCShsp7Kx0oZoY2jwp/l1wTTJHPeJmqr+CgEv0XD==
}
dmj.uxf:dmj-LowRes {
;
; Low Resolution Transformation
; This deliberately lowers the resolution of
; the fractal, but it does so by limiting the
; precision of complex numbers, so it is still
; usable with other transformations.
;
::LY/5Din2tKZTPNMMMY47Ta/HsGXaHstCScAQItrIh4w4KCpsW3VPlmE54uP4XPJpDGajDcgT
Wx+1v5xORYlxXb527HOAgSbrTj7AGeEyKu66c4dIbuysSjzurI/hjCsiSIrB2glilj9ehj2h
6YjstzUlxoSn1ncMnPe+OG95zSB4SoWTuDCpW1qfKcfvwUIHGHuTz6MOf4ghDqwaVnWSsKko
xw1N6Z7WYB6t6uIRji1aQtrm6LX1ueirb5bHiT6qnotbDmPtRaHFdFAniVtQEt4pweQ5STXo
9Fhx4U7B4AIBB3c70i+cNkJmY0LdtLRGs1gHjGLI4seK2tHchKNWm+wakgxdGSgKyLKTJONZ
OaqS4ckr9/GXPF2akRx7/nhbDyCV+XRL9148d2X/OSlPjqiTh6VU8g0g96BlAbboymUqwb1E
+7JEWxUFQeQ5caCrOlrPBI6fijH=
}
asz.ufm:lesgardenvarieta-2 {
;(c) by Andras Szolek
; The formula is the same as LGV-1, only the defaults
; are the different. I made two for the easy switching.
::uSep2gn2NfZXvtJMUY47jU+PYlKt0AlA2AprVbSZrTb3sezq0uoaiJHwpFJCgSItro+jf+D+
KYMyVaXsbSs9xn3zxPcyJmpTiTjLue6EAoE8RAcpD0BymFSnhWC9Zj3QH7wGQKyaHSEDnOJJ
LLnpQ8Ww6SqfUZa3codJdCJ5Ap1Mq1cpRokZ3OmNlN71xslsZ/Ox2SO2r64dgs3X2x7gav74
iN3l0o4tsTO/IHW25ITkOyCzoWznekFmd7Y2U2sXHzWym97EbL5Yvqj3ByefZHv14IzrTOvM
Y9WcYR2eo5Z5x/hkYue7x0wi4sU45UxWY3MHRnntYhx6nw7htU7Rc6DEILBcAv7d1Lg4LUXA
GaXFFk96NYeW1k7j4PU2fj3i/IZ/NfL+7K7v1bxfPZ/Dq8fYFgqJohOEEqmgG6QQoaCaoDBh
qJohOEEqmgG6RQkaCaqDBRqJopOEEpmgm6QQkaCaqDBRqJopeE0VNBt0hguqJolOE0VNBt0h
guqJolOE0VNBt0jgeqJYgOE0TNBD0hgeqJYgOE0TNBD0hgeqJYQfC27/g3gjTyOW87dZRkGy
tR6Pb7vNY92eluvXHZjoG9sHTP3W9sHVPvG9MHTPfdzvVN6ZNmeX2qn1o69+G9GZTX1q2YaB
beYM6ji2nFiMr+5b1GvWY+DA21IQMDRkt4jJcDFxFJs7vM77kDgvh3HRSB/EvPmUgBWg7eOu
I8RwZoZ86lc8e8Og4yI0yLcO7SKMn/Mty6Cw853RIRznDODOjthqwwu0D8CnloFikjrSjaVF
ljpGqvaWOLdW5joa6g8HUVxJtnqca0TL0SnhzqWGPsOgbpm4iRSPujZgWoNDMjXvR/mWGznZ
LmZKmZSn9LmTzolR8VsE25jZj4rSX7008qhSyqrR2L/+KfV5nBuDfSr6OoQk+oHOsIVti6Jy
N8VrzkaM9l4nipkDM7Wqkx5JvQH+poI6n3dcTxeagpD/BO+ApXs9UHZkiIj+3EZ0QRuMsXQv
/G6vY21vqoJoiBgDPjzzJRyZhosoTmUPsjLikr67m11BTl9J09/Xks+nks0JsX9B08+Q9SaR
WlG1sheqFmVgTf88qOCsN1XR0gKuXlgYZ94CQSLoOV1JCi8Zd34NiA7wPkKqYmO5Av7JvL7L
58msJkDPw7x+koFLPcsOgUjiXGktAr5Fdh6eYn2vXq1UDso2OBcNn5OGEn/6LOcyvbrv8Q3f
Sxez+6Cd2LvyKj+Lv2OvJC==
}