1.2. Opening an XL File

GroIMP understands relational growth grammars written in the language XL, which is based on Java, see www.grogra.de and the XL language speficication. At the web page, there exist some example XL files, which you should download in order to have a starting point. Or, if you have installed the Examples-plugin, just select the menu File/Show Examples. A simple, classical example is the Koch curve whose XL source is shown here, you may create the file Koch.xl by Copy&Paste.

import de.grogra.rgg.*;
import de.grogra.lsystem.*;

public class Koch extends RGG {
    public void derivation() [
        Axiom ==> F(10) RU(120) F(10) RU(120) F(10);
        F(x) ==> F(x/3) RU(-60) F(x/3) RU(120) F(x/3) RU(-60) F(x/3);
    ]
}

You can open an XL file like the one shown file via the menu item File/Open, this creates a new project containing the XL file. For a good RGG modelling workflow, you should switch to the RGG panel layout in the menu Panels/Set Layout. This brings up the most frequently used panels: RGG toolbar, 3D view, text editor, attribute editor, file exporer, meta object browser, message panel, and XL console, see Figure 1.1, “Panels in the RGG Layout”.

Figure 1.1. Panels in the RGG Layout

Panels in the RGG Layout

The meta object browser displays objects which have an influence on the scene, but which are not part of the material scene. The RGG object is an example of such an object, and if you open an XL file containing an RGG class, an instance of this class will be created automatically (if the file can be compiled successfully) and inserted into the list of meta objects. By a double click on the RGG object, its editable attributes (the public fields which are declared in its class and are annotated by de.grogra.annotation.Editable) are shown in the attribute editor.