package p5;
import anar.*;




import processing.core.PApplet;

public class Test03bCNC extends PApplet {

  /*
   * Example for Anar library by Guillaume LaBelle + Julien Nembrini
   * http://anar.ch
   */


  Sliders mySliders;

  Obj     myObj = new Obj();


  public void setup(){
    size(800,400,OPENGL);
    frameRate(200);

    Anar.init(this);
    Anar.drawAxis(true);

    initForm();
  }


  void initForm(){

    Translate sHeight = new Translate(0,0,3.6f,"sHeight");
    Translate sWidth = new Translate(18,0,0);
    Translate offset = new Translate(88,0,0,"Offset");

    Pt ori = Anar.Pt(0,0,0);
    Pt lastPt;// = ori;

    for (int i = 0; i<300; i++){
      lastPt = Anar.Pt(ori);

      for (int k = 0; k<i; k++)
        lastPt.apply(sHeight);

      if(i%2==0)
        lastPt.apply(offset);

      for (int j = 0; j<10; j++){
        Pts line = new Pts();
        Pt ptA = Anar.Pt(lastPt);

        // for (int k = 0; k<Anar.rndi(1,2); k++)
        ptA.apply(sWidth);
        line.add(ptA);

        Pt ptB = Anar.Pt(ptA);

        for (int k = 0; k<Anar.rndi(6,8); k++)
          ptB.apply(sWidth);
        line.add(ptB);

        myObj.add(line);
        lastPt = ptB;

      }
    }


    Anar.camTarget(myObj);
    mySliders = new Sliders(myObj);
  }


  public void draw(){
    background(155);

    myObj.draw();
    mySliders.draw();
  }


  public void keyPressed(){
    Autolisp.export(myObj,this);
  }


  public static void main(String[] args){
    PApplet.main(new String[]{Test03bCNC.class.getName()});
  }
}

