package p5;
import anar.*;



import processing.core.PApplet;

public class Test05fPergo extends PApplet {

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

  // This quick examples is an implementation of an Architectural System
  // done by my brilliant students: http://organicitta.blogspot.com/
  public void setup(){
    size(800,400,OPENGL);
    Anar.init(this);
    Anar.drawAxis();
    createModule();
  }

  public void createModule(){
    
    Param length = new Param(98.235f).addToSlidersMain();
    Param len2 = length.divide(2).inv();
    
    Param incrust = new Param(0.85f).addToSlidersMain();
    Param invrust = incrust.inv();
    
    Group tmp = new Group();

    Pt origin = Anar.Pt(0,0,0);
    Obj linesA = new Obj().add(new Pts(origin,origin.copy().translateX(length) ).translateX(len2) ).translateY(len2);

    for (int i = 0; i<20; i++)
      linesA.add(linesA.lineMod( -1).copy().translateY(5));
    
    tmp.add(linesA);
    tmp.add(tmp.objEnd().copy().rotateZ(-2*PI/3));
    tmp.add(tmp.objEnd().copy().rotateZ(-2*PI/3));

    Anar.add(tmp.obj(0).extrude(10/3f).translateZ(10/6f));
    Anar.add(tmp.obj(1).extrude(10).translateZ(incrust));
    Anar.add(tmp.obj(2).extrude(-10).translateZ(invrust));
  }


  public void draw(){
    background(255);
    Anar.draw();
  }


  public void keyPressed(){

  }


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

