package p5;
import anar.*;



import processing.core.PApplet;

/**
 * @author goo
 * 
 */
public class ExampleSquare01 extends PApplet {

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


  Sliders   parameters;

  Pt        a, b;
  Translate t;


  Obj       obj;

  Sliders   mySlider;

  public void setup(){
    size(800,400,OPENGL);
    Anar.init(this);
    Scene.autoSeek = false;

    initForm();
  }

  void initForm(){

    // definition of shape parameters
    a = Anar.Pt( -60, -60);
    b = Anar.Pt( -60,60);

    t = new Translate(120,0,0);
    reset();
  }

  void reset(){
    // construction of shape
    obj = new Obj();

    // create square
    Face f = new Face();
    f.add(b);
    f.add(a);
    f.add(Anar.Pt(a,t));
    f.add(Anar.Pt(b,t));
    obj.add(f);

    // define sliders for shape
    mySlider = new Sliders(obj);
  }


  public void draw(){
    background(153);

    obj.draw();
    mySlider.draw();
  }

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


  // interactivity related stuff
  public void keyPressed(){

    switch(key){
      case 'q':
        reset();
      break;
      case 'w':
        initForm();
      break;
      case 'e':
      break;
      case 'r':
      break;

      // (gll) edited implemented (should be oneDay inside Ogg main class
      case 'a':
        Autolisp.export(obj,this);
      break;

    }

  }

}
