/*
____________________________________________________
|                                                  |
|          author => Martin Robinson               |
|                                                  |
|          you are authorised to use               |
|          this code in the way you                |
|          like, commercial, personal,             |
|          opensource or anything else             |
|          you could imagine. But you              |
|          are not authorised to own               |
|          copyright on this work                  |
|__________________________________________________|
____________________________________________________
|                                                  |
|           Lsystem                                |
|           language C++                           |
|           Library Qt4.4                          |
|__________________________________________________|
*/
#ifndef Lsystem_Deja
#define Lsystem_Deja

#include <QtCore>

  const QString btree = "{F:FF;L:F[+L]-L;}L";
  const QString koch = "{F:F+F-F-F+F;}F";                     //90deg
  const QString sierpinski = "{F:G-F-G;G:F+G+F;}F";           //120deg
  const QString sierpinski2 = "{F:F-G+F+G-F;G:GG;}F-G−G";     //120deg
  const QString dragon = "{X:X+YF;Y:FX-Y;}FX";                //x y = nope   90deg
  const QString plant = "{X:F-[[X]+X]+F[+FX]-X;F:FF;}X";      //X = nope  25deg
  const QString hilbert = "{A:+BF-AFA-FB+;B:-AF+BFB+FA-;}A";  //F = forward, + - 90deg , AB = nope
  const QString levy = "{F:+F--F+;}F";                        //45deg
  const QString terdragon = "{F:F+F-F;}F";                    //120deg
  const QString ptms = "{F:F+;+:+F;}F";                       //Prouhet–Thue–Morse sequence   0 forward 1 turn 60deg

  void iterate(QString*);

#endif