This document provides class hierarchy information and documentation for Ultra Fractal 5 for those class files publicly available.

See:
          Description

ULB Files
ck  
common Common Classes for Ultra Fractal 5
dmj5 dmj5.ulb 1.0
Base Classes for Ultra Fractal 5
by Damien M.
jlb  
kcc5 kcc5.ulb 1.0
Classes for Ultra Fractal 5
by Ken Childress
24 June 2008
mmf Classes by David Makin for Ultrafractal 5 and later.

This version 10th December 2008.
Minor improvements to exponential smoothing in Field Estimator.
Added the Switch Magnet 2 formula.

6th December 2008.
Added the Switch Magnet 1 formula.
Added the "fix" to the Magnet 1 Distance Estimator.

29th November 2008
Fixed the default version in Field Estimator.
mt Classes for Ultra Fractal 5 by Mark Townsend
reb by Ron Barnett
July 3, 2008
Ron's Website
rkb rkb.ulb - Classes written by Robert K.
Standard Standard.ulb implements the transformations, formulas and coloring algorithms from Standard.uxf/ufm/ucl as objects for the common.ulb framework.
tma  

 

This document provides class hierarchy information and documentation for Ultra Fractal 5 for those class files publicly available.

Ultra Fractal Class Library Documentation
28 October 2008

Ultra Fractal Class Library Documentation

28 October 2008

This overview page also describes some important information for understanding this documentation and for documenting your class files for inclusion in this documentation.


Important Links

Important Links


Ultra Fractal Home 
Ultra Fractal Formula Database 
Documentation Notes 
Class File Mapping 
Class Naming Conventions 
Class File Documentation Conventions 
Downloadable Class File Documentation 
Class Examples and Tutorials 

Object Tutorials

Object Tutorials

Damien Jones has written two very important tutorials on the new object framework of Ultra Fractal 5. The first is geared towards normal users, or those users who are not really interested in the details of formula writing.

Introduction to Objects - Users Version

The second one is intended for those interested in writing formulas using the object features of Ultra Fractal 5. It is a brief, detailed introduction to objects and the object features contained in Ultra Fractal 5.

Introduction to Objects - Programmers Version

Ultra Fractal 5 Tutorials & Challenges

Tutorials

Ron Barnett has written a collection of tutorials to aid users in learning the new plugin features of UF5. Plugins are classes written using the new object oriented features of the UF5 formula language. From the user point of view, they can be viewed as plugins because many different classes can be used in any given slot in a particular formula.

Ron has also designed a series of challenges to help users apply the techniques described in the tutorials.

Additional tutorials and examples can be found here.

Ultra Fractal Class Libraries

Ultra Fractal Class Libraries

Ultra Fractal 5 provides extensions to its formula language that allow the formula writer to define classes and functions. This provides the ability to place commonly used code in class library files (.ulb extension) so that others may reuse the code instead of copying or rewriting it.

Ultra Fractal 5 is delivered with a set of base classes that are designed to be used as building blocks for other formulas. These are located in the common.ulb class file. The formulas in the Standard.ufm and Standard.ucl files have been rewritten using classes. These can be found in Standard.ulb.

Several formula authors have written classes and re-written formulas to use classes. These can be found in the files,

Additional class files will be added to this documentation as more class files are created and uploaded to the formula database. Additional formula files specific to Ultra Fractal 5 will be added to the formula database as authors write new formulas to take advantage of the new class features.

Class File Usage

Class File Usage

The introduction of classes to the Ultra Fractal formula language is one of the most significant enhancements to its capabilities. This capability literally opens up a whole new universe of possiblities for formula writers. Now, instead of copying a formula, making additions and enhancements, and publishing a new formula, authors can use classes written by others as building blocks to create new formulas. By creating a new class that is based on a previous class, authors can add new capabilities without having to copy an existing formula. The Standard.ulb file contains class versions of the formulas contained in the Standard.ufm and Standard.ucl files. The common.ulb file contains classes that are intended to be used as base classes for extension by class files created by anyone. These classes are intended to provide a standard framework by which others can extend the classes and maximize compatibility. Class file creators are not required to follow this framework, but doing so will maximum compatibility with other formulas and classes.

Documentation Notes

Documentation Notes

This documentation is produced using the javadoc documentation tool for Java class files. A customized version of the javadoc tool is used to make the output less Java-like and more UF-like. A customized tool written by Ken Childress is used to parse the .ulb class files and produce Java class files that the javadoc tool then parses to create this documentation. Formula authors wishing to have their publicly available class files included in this documentation should first follow the documentation conventions listed below, then contact Ken Childress to include the class files in the documentation. Please notify Ken when you upload changes to your class file to the formula database that need to be reflected in this documentation.

Since the documentation is generated with a tool designed to document Java code, there will be a few cases where the UF syntax doesn't exactly show in the documentation. A primary example is parameters that are passed by reference. In the UF code, these parameters are prefaced by the '&' character. There is no corresponding Java syntax, thus the function documentation when this is used will not be properly reflected. One should inspect the UF code listing in the class documentation for the correct parameter passing mode.

There may also be a few minor "Javaisms". These would be syntax or conventions that are appropriate for Java, but perhaps not for the UF formula language. As many of these as possible have been removed, or changed to be more UF-like.

Class File Mapping

Class File Mapping

The publicly downloadable class library files (*.ulb) are contained in the Ultra Fractal Formula Database. The naming follows the same convention as the formula files, with the author's initials forming the base name of the file. In this documentation, the ULB File names correspond to the .ulb files containing the classes. Some examples,

ULB FileClass FileAuthor
commoncommon.ulbCommon base classes
dmj5dmj5.ulbClasses written by Damien M. Jones
jlbjlb.ulbClasses written by Jim Blue
kcc5kcc5.ulbClasses written by Ken Childress
mmfmmf.ulbClasses written by Dave Makin
mtmt.ulbClasses written by Mark Townsend
rebreb.ulbClasses written by Ron Barnett
tmatma.ulbClasses written by Toby Marshall


Class Naming Conventions

Class Naming Conventions

In order to more easily tell in which file a particular class is located, it is very strongly encouraged that you prefix your classes with your formula file identifier in upper case. This eliminates naming conflicts and allows the user to more easily tell which .ULB file in which to find the class. By convention, class names begin with a capital letter.

The primary exception to this rule are the classes contained in common.ulb. By convention, there is no prefix on these class names as they are intended to be extended by user created classes.

TrapShape = Trap Shape class located in common.ulb

DMJ_Clipping = Clipping class located in dmj5.ulb

KCC_TangentBallsTrap = Tangent Balls Trap class located in kcc5.ulb

Class File Documentation Conventions

Class File Documentation Conventions

To make the automatic generation of the UF class documentation files run smoothly, the following documentation conventions are suggested. They are not mandatory, but if they are not followed, the documentation will not be as useful as when they are followed.