package p5;
import anar.*;



import processing.core.PApplet;

public class Test04iSurfSubdivSwissCross extends PApplet {

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


  Obj myObj;

  public void setup(){
    size(800,400,OPENGL);
    Anar.init(this);
    Anar.drawAxis();

    initForm();
  }

  public void initForm(){

    // CUBE
    Obj cross = new SwissCross3D(100,100);

    // sudivide
    myObj = new SubdivSurf(cross,0,new SubdivCatmullClark());

    Anar.sliders(cross);
    Anar.camTarget(myObj);
  }

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

  public void keyPressed(){
    if(key==' ')
      initForm();
    else
      if(key=='s')
        ((SubdivSurf)myObj).subdivide();
      else
        if(key=='f')
          ((SubdivSurf)myObj).refine();
        else
          if(key=='r')
            ((SubdivSurf)myObj).reset();

    if(key=='o')
      PovRAY.export(myObj);
  }

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

